lightwolfz   06-01-2014, 11:01 AM
#1
ผมอยากรู้วิธีที่ทำให้เราเดินเข้าไปในกล่องๆนึงแล้ว ก็ปิดฟังค์ชั่นนั้น เดินออกมาแล้วเปิดต่อไม่ทราบว่าทำยังไงครับ

อันที่ผมใช้อยู่


Quote:var Iscollider : false ;
var IsNotcollider : true ;

function OnTriggerExit (Other : Collider) {

if(Other.tag == "collider")
{
Iscollider = false;
IsNotcollider = true;
!!test();
}

}

function OnTriggerEnter (Other : Collider) {

if(Other.tag == "collider")
{
Iscollider = true;
IsNotcollider = false;
test();
}

}

function test () {

player.animation.CrossFade("Walk")

}

ที่ผมใช้ตอนนี้ กด play ดูแล้วหฟลุดออกจากเกมเลย แพนด้าจ๊าก

ฝากถามผู้รู้ด้วยนะครับ ขอบคุณมากครับ

Y me gusta muchoY me gusta muchoY me gusta muchoY me gusta muchoY me gusta muchoY me gusta mucho
Nayru   06-02-2014, 05:06 PM
#2
ถ้าเรียกฟังค์ชันตลอดยกเว้นตอนอยู่ในกล่องก็ใช้ตามนี้เลยครับ (เอาคำสั่งเรียก test() ขณะEnter-Exit ออกด้วยนะครับ)

function Update () {
if (!Iscollider){
test();
}
}

*** IsNotcollider ดูไม่น่าจะจำเป็นนะครับ เพราะมันความหมายเดียวกับ !Iscollider ล่ะครับ ใช้แค่ตัวเดียวพอแล้วเวลาเรียกใช้ก็ใส่ "!" ข้างหน้าเอา

Edit: แก้คำผิดตรง if (Iscollider) --> if (!Iscollider) แทน (มันทำงานเฉพาะตอนไม่สัมผัสนี่เนอะ คร่อกก)
This post was last modified: 06-03-2014, 10:01 AM by Nayru.

[Image: Signature-Alex.png]
tretap   06-02-2014, 11:33 PM
#3
แมวยิ้ม หว่ามีคนมาตอบก่อนละ !
lightwolfz   06-03-2014, 07:22 PM
#4
(06-02-2014, 05:06 PM)Nayru Wrote: ถ้าเรียกฟังค์ชันตลอดยกเว้นตอนอยู่ในกล่องก็ใช้ตามนี้เลยครับ (เอาคำสั่งเรียก test() ขณะEnter-Exit ออกด้วยนะครับ)

function Update () {
if (!Iscollider){
test();
}
}

*** IsNotcollider ดูไม่น่าจะจำเป็นนะครับ เพราะมันความหมายเดียวกับ !Iscollider ล่ะครับ ใช้แค่ตัวเดียวพอแล้วเวลาเรียกใช้ก็ใส่ "!" ข้างหน้าเอา

Edit: แก้คำผิดตรง if (Iscollider) --> if (!Iscollider) แทน (มันทำงานเฉพาะตอนไม่สัมผัสนี่เนอะ คร่อกก)

ขอบคุณมากครับ Derp

Y me gusta muchoY me gusta muchoY me gusta muchoY me gusta muchoY me gusta muchoY me gusta mucho
  
Users browsing this thread: 4 Guest(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.