ฟอนต์ฟอรั่ม

F0NT Community (เก่า) => ห้องคอม => ห้องแฟลช => โพสต์ถูกเริ่มโดย: อารี เมื่อ 07 ม.ค. 2010, 23:02 น.

ชื่อเรื่อง: ถามสคริปต์ไป จนกว่าทีสิสจะเสร็จ
โพสต์โดย: อารี เมื่อ 07 ม.ค. 2010, 23:02 น.
คือผมต้องการให้มีปุ่มปุ่มหนึ่ง ที่กดแล้วจะเกิดเหตุการณ์ gotoAndPlay("openbox"); ก็ต่อเมื่อ
ณ เฟรมที่หัวอ่านวิ่งอยู่นั้น วัตถุชื่อ A อยู่ในตำแหน่ง ._x ที่ -30

._x ของวัตถุ A ไม่ใช่ -30 ให้กดปุ่มนี้แล้วนิ่งครับ

เงื่อนไขประมาณนี้ครับ
จะมีวิธีเขียนอย่างไรครับ
ชื่อเรื่อง: ตอบ: ถามเรื่องการอ้างอิงตำแหน่งวัต
โพสต์โดย: กากก่อเกรียนนู้บ เมื่อ 08 ม.ค. 2010, 01:01 น.
ใช้ if ช่วยเช็คครับผม

on(press){
  if(xxxxxxx._x == -30){
     gotoAndPlay("openbox");
  }
}
ชื่อเรื่อง: ตอบ: ถามเรื่องการอ้างอิงตำแหน่งวัต
โพสต์โดย: อารี เมื่อ 08 ม.ค. 2010, 01:36 น.
ได้แล้วครับ ขอบคุณมาก มีประเด็นจะถามต่อ พอดีผมมีสคริปต์อยู่จุดหนึ่ง
ที่เขียนอ้างอิงเฟรมที่ 100 และผมตั้งชื่อเฟรม ว่า startwo1

(http://img3.f0nt.com/thumb/e69d1a0694358425fbb27fc9ddca920b.jpg) (http://img3.f0nt.com/08/e69d1a0694358425fbb27fc9ddca920b.jpg)

ผมเขียนว่าถ้าหัวอ่านอยู่ที่ 100 ซึ่งผมตั้งชื่อไว้ว่า starttwo1 นั้น ให้กดปุ่มปุ่มหนึ่ง
แล้วให้มันไปเล่นเฟรมชื่อ twotothree ซึ่งผมได้เขียนไว้ดังนี้ครับ

(http://img3.f0nt.com/thumb/c9c8b6069ee6206a34179aff31280305.jpg) (http://img3.f0nt.com/08/c9c8b6069ee6206a34179aff31280305.jpg)

on(press)   {
      
   if(_root._currentframe=="starttwo1") {
   _root.gotoAndPlay("twotothree");
   }

ซึ่งสคริปต์นี้รันไม่ได้ครับ

แต่ถ้าเขียนเป็น

(http://img3.f0nt.com/thumb/804a7cabc2008e2265bad4c4911a1d58.jpg) (http://img3.f0nt.com/08/804a7cabc2008e2265bad4c4911a1d58.jpg)

on(press)   {
      
   if(_root._currentframe==100) {
   _root.gotoAndPlay("twotothree");
   }

แบบนี้ถึงจะรันได้ครับ อยากถามว่ามีอะไรผิดไปหรือเปล่าครับ?
ชื่อเรื่อง: ตอบ: ถามเรื่องการอ้างอิงตำแหน่งวัต
โพสต์โดย: ยุนเอ เมื่อ 08 ม.ค. 2010, 09:41 น.


เข้าใจว่า _currentframe เป็นตำแหน่งมากกว่าชื่อของเฟรมน่ะครับ
ชื่อเรื่อง: ตอบ: ถามสคริปต์ไป จนกว่าทีสิสจะเสร็
โพสต์โดย: อารี เมื่อ 08 ม.ค. 2010, 13:23 น.
มีปัญหาเกี่ยวกับ RollOver กับ RollOut ครับ

คือผมมีวงกลมวงหนึ่ง อยากให้ RollOver แล้วเล่น Animation แบบหนึ่ง
ส่วนเมื่อ RollOut เล่น Animation อีกแบบหนึ่ง

แต่ Animation สำหรับ RollOver ยาว 15 เฟรมได้นะครับ
ทำให้ถ้าเราลากเมาส์ผ่านเร็วๆ มันจะ RollOver และไม่รอ RollOut

จะมีวิธีไหมครับให้ อย่างน้อยที่สุดถ้าเราลากเมาส์ผ่านเร็วๆ ให้มันได้ผล RollOut ไปด้วย
หรืออย่างน้อยก็กลับมาที่เฟรมแรกของ Animation RollOver ก็ได้ครับ
ชื่อเรื่อง: ตอบ: ถามสคริปต์ไป จนกว่าทีสิสจะเสร็
โพสต์โดย: กากก่อเกรียนนู้บ เมื่อ 19 ม.ค. 2010, 17:09 น.
ใช้ _currentframe มาคำนวณกับจำนวนเฟรมครับ