Actionscript2.0, gotoandplay ไม่ทำงาน

ในโค้ด actionscript ของฉัน gotoandplay ไม่ทำงาน ฉันต้องการเล่นเฟรมอื่นเมื่อวัตถุของฉันสัมผัสกับผนัง 101

if (hitTest(_level0.wall101)==true)
{
   gotoAndPlay(3);
}

person hrn    schedule 02.01.2014    source แหล่งที่มา


คำตอบ (1)


ปัญหาของคุณอาจเกิดขึ้นได้หลายที่ ไม่ว่าจะเป็นสภาพของตัวเองหรือสิ่งที่ควบคุมอยู่

ทำการเปลี่ยนแปลงรหัสของคุณต่อไปนี้:

if (hitTest(_level0.wall101)==true)
{
   trace("Hit occured");
   gotoAndPlay(3);
}

หากคุณเห็น 'เกิด Hit' ตามเวลาที่คาดหวังในแท็บ 'เอาต์พุต' ของ Flash Professional (ควรปรากฏขึ้นหากยังไม่ได้แสดง) แสดงว่าปัญหาของคุณอยู่ที่คลิปที่คุณกำลังพยายาม ควบคุมไทม์ไลน์ของ

เพื่อเป็นตัวอย่าง ฉันถือว่าโค้ดของคุณอยู่ในเฟรมแรกของ MovieClip ที่เคลื่อนย้ายได้บางประเภท (ซึ่งฉันจะเรียกว่า 'playerClip') หากเป็นเช่นนั้น คำสั่ง 'gotoAndPlay' จะควบคุมไทม์ไลน์ของ playerClip

หากคุณไม่เห็น 'Hit เกิดขึ้น' แสดงว่าอาการของคุณไม่เกิดขึ้น คุณแน่ใจหรือไม่ว่าชื่ออินสแตนซ์ของวัตถุผนังคือ wall101 การจำชื่ออินสแตนซ์นั้นและชื่อของอ็อบเจ็กต์ในไลบรารีเป็นสองสิ่งที่แตกต่างกันโดยสิ้นเชิง...

หากคุณต้องการควบคุมไทม์ไลน์หลัก (ไม่ใช่ไทม์ไลน์ของ playerClip) ให้เปลี่ยน gotoAndPlay(3) เป็น: _root.gotoAndPlay(3)

นอกจากนี้ อย่าอ้างถึง _level0... คุณควรอ้างถึง _root (ซึ่งเป็นสิ่งเดียวกันเว้นแต่ว่าคุณกำลังจัดการกับไทม์ไลน์ SWF ที่ซ้อนกัน และฉันสงสัยว่าคุณเป็นเช่นนั้น) หรือดีกว่านั้นแม้กระทั่งพาเรนต์ของวัตถุ คุณกำลังเพิ่มรหัสไปที่ (_parent)

person 1owk3y    schedule 02.01.2014