ขอถามหน่อยนะครับอ.คือตัวละครผมมันไม่สามารถเล่น jump attack run ได้เลยมีแต่ท่ายืนละดุ๊กดิ๊กๆแบบนี้ตลอดเวลากดเดินก็เป็นท่ายืนดุ๊กดิ๊กๆสไลด์ไปข้างหน้าตลอดเลยมันเป็นเพราะอะไรครับ
เป็นแบบนี้ต้องแก้ตรงไหนหรอครับผมเพิ่งหัดทำไม่รู้ว่าต้องแก้ยังไงจริงๆครับ อันนี้โค๊ดครับ using System.Collections; using System.Collections.Generic; using UnityEngine; public class playercontroller : MonoBehaviour { public float speed = 1f; public float JumpSpeed = 9f; public float MaxSpeed = 10f; public float JumPower = 20f; public bool Grounded; public float JumpRate = 1f; public float NextJumpPress = 0.0f; public float FireRate = 0.2f; public float NextFireRate = 0.0f; private Rigidbody2D rb2d; private Physics2D ps2d; Animator anime; public int healthbar = 100; void Start() { rb2d = this.GameObject.GetComponent(); anime = this.GameObject.GetComponent(); } void Update() { } } ส่วนอันนี้เป็น error ครับ Assets\playercontroller.cs(22,21): error CS1061: 'playercontroller' does not contain a definition for 'GameObject' and no accessible extension method 'GameObject' accepting a first argument of type 'playercontroller' could be found (are you missing a using directive or an assembly reference?) ผมต้องแก้ตรงไหนครับ
@@Daydev The referenced script (playerController) on this Behaviour is missing! The referenced script on this Behaviour (Game Object 'player') is missing! คือมันหาตัวplayerเจอหรอครับแล้วต้องแก้ยังไงหรอครับ
ขอบคุณมากครับ เข้าใจง่ายและมีประโยชน์มากครับ
ผมมือใหม่มากๆครับดูคริปนี้แล้ว เข้าใจง่ายขึ้นมากเลยครับรอ ep ต่อไปเลยครับสู้ๆ
premier คืนนี้ครับ ตอนที่ 2
ruclips.net/video/aejpEy8ROWs/видео.html
ตอนที่ 2
โอ่ววววววววววววววววววววววว
ขอถามหน่อยนะครับอ.คือตัวละครผมมันไม่สามารถเล่น jump attack run ได้เลยมีแต่ท่ายืนละดุ๊กดิ๊กๆแบบนี้ตลอดเวลากดเดินก็เป็นท่ายืนดุ๊กดิ๊กๆสไลด์ไปข้างหน้าตลอดเลยมันเป็นเพราะอะไรครับ
1. ใส่ parammeter ใน animator ไม่ถูกพิมพ์เล็กพิมพ์ใหญ่
2. Code ไม่ถูก
ลองเช็คอีกรอบครับ ส่วนมากคือ Skip หรือไม่ก็ควร Pause แล้วทำตามจะ Save ที่สุดหากไม่ได้ Skip แนะนำให้เปิดเสียงครับ
@@Daydev แก้ได้แล้วครับขอบคุณครับบบบ
อ.ครับ แล้วถ้าภาพแอนนิเมชั่นของเราเป็นภาพ GIF เราจำเป็นต้องแยกตัวสไปรท์ด้วยไหมครับ
ควรเป็น Sprite Sheet นะครับ แต่มี solution handle พวก gif อยู่คือ
answers.unity.com/questions/674367/how-to-use-this-gif-in-animation.html
Edit -> settings -> lnput คือยังไงคับ
เส้นขอบสี่เหลี่ยมไม่มีทำยังไงค่ะ
ทำให้มันกระโดด แค่ 2 step ยังไงอะครับ
unitycodemonkey.com/video.php?v=DEGEEZmfTT0
อยากได้ script การเคลื่อนไหวตัวละครไว้ศีกษา จะหา download ได้ที่ไหนครับ
เขียนตามเลยครับ ไม่ได้ยากมาก
ถ้าดาวน์โหลดก็ใน Google เยอะแยะครับ
คารวะด้วยใจ นับถือๆครับ
มีโค้ดการ Slide ไหมครับพอจะมีตัวอย่างการเขียนไหมครับ
พี่ครับ ผมโดนไม่ขึ้นครับเหมือนติดบางอย่างบนหัว ในครั้งแรกก่อนทำใหม่อีกรอบมันโดดสูงมากเลยครับ ตอนนี้กลับโดดไม่ขึ้น
นี่ โค็ดผมครับ(อีกรหัส)
public class PlayerContorller : MonoBehaviour
{
public float speed = 1f;
public float jumpSpeed = 9f;
public float maxSpeed = 10f;
public float jumpPower = 20f;
public bool grounded;
public float jumpRate = 1f;
public float nextJumpPress = 0.0f;
public float fireRate = 0.2f;
public float nextFireRate = 0.0f;
private Rigidbody2D ridgiBody2D;
private Physics2D physics2D;
Animator animator;
public int healthbar = 100;
void Start()
{
ridgiBody2D = this.gameObject.GetComponent();
animator = this.gameObject.GetComponent();
}
// Update is called once per frame
void Update()
{
animator.SetBool("Grounded", true);
animator.SetFloat("Speed", Mathf.Abs(Input.GetAxis("Horizontal")));
if(Input.GetAxis("Horizontal")< -0.1f)
{
transform.Translate(Vector2.right * speed * Time.deltaTime);
transform.eulerAngles = new Vector2(0, 180);
}
else if(Input.GetAxis("Horizontal") > 0.1f)
{
transform.Translate(Vector2.right * speed * Time.deltaTime);
transform.eulerAngles = new Vector2(0,0);
}
if(Input.GetButtonDown("Jump") && Time.time > nextJumpPress)
{
animator.SetBool("Jump", true);
nextJumpPress = Time.time + jumpRate;
ridgiBody2D.AddForce(jumpSpeed * (Vector2.up * jumpPower));
}
else
{
animator.SetBool("Jump", false);
}
if (Input.GetKey(KeyCode.E) && Time.time > nextFireRate)
{
nextFireRate = Time.time + fireRate;
animator.SetBool("ATK", true);
}
else
{
animator.SetBool("ATK", false);
}
ช่วยทำคลิปแบบอธิบายเรื่อง บังคับ ตัวละคร เดินหน้า ถอยหลัง ซ้าย ขวา หน่อยครับ ผมมือใหม่ พิมพ์ตามได้อยู่ครับ แต่เวลาจะเขียนเองไปไม่เป็นเลยครับ
Input.GetAxis("Horizontal") รับค่าแป่นพิมพ์ ซ้าย (น้อยกว่า 0), ขวา (มากกว่า 0) แนะนำว่า Document ของ unity อธิบายเข้าใจง่ายครับ แปลอังกฤษนิดนึงครับ ไม่ยากหรอก
การทำอนิเมชั้นปีนกำแพงเขียนเหมือนกระโดดไหมครับ
การเรียกใช้เหมือนกันครับ Animator
แต่การเขียนให้ Snap ไม่เหมือนครับ
ขอบคุณมากเลยครับ
C# edit ใช้โปรแกรมอะไรเขียนครับ สวยน่าใช้ดี
ทำไมของผมกดแล้วมันไปเรียกโปรแกรม อื่นมาใช้แก้ครับ Unity ไม่มีตัว edit ของมันเองหรือครับ
@@MikroElec ตั้งค่าได้เองครับ ผมตั้งให้ใช้ VS Code ของฟรีครับ
เอารูปที่ชื่อว่า Paladin มาจากไหนเหรอคะ
opengameart.org/ หรือเว็บทั่วๆไปเลยครับ
ผมสงสัยตรงช่วงทรานฟอร์มอะครับ ทำไมต้องคูณ Time.deltaTime ด้วย
Time.deltaTime ถ้าอธิบายในคลิปคือเวลาของเกมขณะทำงาน เหมือนวินาทีที่เดินไป ถ้าไม่คูณ มันก็จะไม่ไปไหนค่าเป็น 0 ครับ
@@Daydev ผมมีปัญหาอีกแล้วครับ มันโดดได้เรื่อยๆ เลยอะครับ กด space รัวๆ นี่บินเลยครับ
ผมผิดพลาดตรงไหนหรอครับจารย์ มันถึงสามารถกระโดดได้รัวๆ
@@abacubu7658 ดู JumpRate ครับในคลิปมีบอก
อ.ครับ สอนทำ กระดูก (Bones and Rig) ให้ตัวละครหน่อยครับ
Bone 2D หรือ 2D ครับ
ถ้า 2D กำลังทำให้ครับ
@@Daydev 2D ครับ
คือมันขึ้นว่า API updating failed. Check previous console messages. ครับแก้ยังไงดี
Capture ให้ดูใน page facebook ทีครับ
Time.timeกับTime.deltaTimeต่างกันยังไงหรอครับ
delta Time มาจาก Update
เร็วกว่า Time.time
ในmacกับwin10เขียนเหมือนกันไหมครับ
เหมือนกันครับ ผมใช้ win 10 ทำตามได้ 100% เลย
เหมือนกันครับไม่เกี่ยวกับระบบปฏิบัติการเลย
อาจารย์คะ เวลาดึง Component เข้ามาใส่ในตัวแปรจำเป็นต้องใส่ this. ทุกครั้งมั้ยคะ มันคือ this เดียวกับใน Java มั้ยคะ หรือใน Unity มีหน้าที่อะไรพิเศษรึเปล่า
จริงๆ ไม่ต้องใส่ก็ได้ครับ แต่ใส่ก็ดีตรงที่ระบุว่า GameObject นี้เจาะจงเฉพาะครับ
@@Daydev ขอบคุณมากๆ เลยนะคะ คลิ๊ปอาจารย์ดีมากๆ หนูสามารถเอาไปใช้เรียนรู้การทำเกม RPG 2D ได้เลยค่ะ ทั้งๆ ที่หนูไม่มีพื้นฐานการเขียนโค้ดเลย ก็ค่อยๆ ศึกษาเอาโดยแกะจากคลิ๊ปอาจารย์แล้วเอาไปต่อยอดกับโค้ดอื่นๆ ค่ะ
@@emmossam7045 ยินดีนะครับ
The Rock
เป็นแบบนี้ต้องแก้ตรงไหนหรอครับผมเพิ่งหัดทำไม่รู้ว่าต้องแก้ยังไงจริงๆครับ
อันนี้โค๊ดครับ
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class playercontroller : MonoBehaviour
{
public float speed = 1f;
public float JumpSpeed = 9f;
public float MaxSpeed = 10f;
public float JumPower = 20f;
public bool Grounded;
public float JumpRate = 1f;
public float NextJumpPress = 0.0f;
public float FireRate = 0.2f;
public float NextFireRate = 0.0f;
private Rigidbody2D rb2d;
private Physics2D ps2d;
Animator anime;
public int healthbar = 100;
void Start()
{
rb2d = this.GameObject.GetComponent();
anime = this.GameObject.GetComponent();
}
void Update()
{
}
}
ส่วนอันนี้เป็น error ครับ
Assets\playercontroller.cs(22,21): error CS1061: 'playercontroller' does not contain a definition for 'GameObject' and no accessible extension method 'GameObject' accepting a first argument of type 'playercontroller' could be found (are you missing a using directive or an assembly reference?)
ผมต้องแก้ตรงไหนครับ
เท่าที่เห็นคือพิมพ์ตัวเล็กตัวใหญ่ครับ แนะนำว่าถ้าไม่แม่นภาษาโปรแกรมไปฝึกภาษาโปรแกรมก่อน อย่าเพิ่งมาเขียนเกมครับ
@@Daydev พอผมเอาGameObjectออกแล้วมันถึงหายerrorอะครับ
จะโหลดดปรแกรมค่ะแต่โหลดไม่ได้เลยพอมีลิงคืไหมค่ะ
www.unity.com
คือว่าอนิเมชั่นผมทำแล้วมันไม่หมุนไปทางซ้ายนี่ต้องแก้ยังไงหรอครับ
มัน Flip ผ่าน Code ที่สอนได้เลยครับ หรือ ใน Inspector มันจะมี Flip X, Y ให้ลองกดครับ
@@Daydev The referenced script (playerController) on this Behaviour is missing!
The referenced script on this Behaviour (Game Object 'player') is missing!
คือมันหาตัวplayerเจอหรอครับแล้วต้องแก้ยังไงหรอครับ
@@sorateexiv9405 มันหา Player ไม่เจอครับลองเปลี่ยน player เป็น Player ไหมครับ
C# ตัวเล็กตัวใหญ่มีผล แนะนะฝึก C# Basic ก่อนเรียนเขียนเกมครับ
@@Daydev ขอบคุณมากเลยครับบ
ผมทําโค้ดแล้วมันกระโดดได้เรื่อยๆเลยอะครับทําตามคลิปแล้วแต่ก็หาจุดผิดไม่เจอ