หน้า: 1 [2] 3
 
ผู้เขียน หัวข้อ: ทำยังไงครับ ช่วยที่  (อ่าน 11174 ครั้ง)
0 สมาชิก และ 1 ขาจร กำลังดูหัวข้อนี้
ขอเบิ้ล วะเฮ่ยทำได้แล้ว เดี๋ยวทำเสร็จก่อนมาบอกวิธีทำ(ไม่รู้จะมีใครอยากรู้ หรือตูทำไม่เป็นอยู่คนเดียวฟะ เศร้า)
บันทึกการเข้า

สมาชิกสมาคมพ่อบ้านทหารบก
อยากรุ้ครับ  เชิญ ๆ พี่  กรี๊ดดดดด
บันทึกการเข้า

ล้ำลึกคนึงหาในดวงจิต ใจเคยคิดตัดสวาทมิอาจสิ้น
ดั่งก้านบัวหักกลางชลาสินธุ์ ผิว่าสิ้นไร้เยื่อยังเหลือใย
โอ้วว ยินดีด้วยครับ  ยิ้มน่ารัก
กำลังจะมาช่วยงงเลย  ฮิ้ววว
ขอแนวคิดก็ดีนะครับ


ป๋าช่วยแซมเปิ้ลกรณีหลังให้ดูพอเป็นน้ำจิ้มหน่อยสิครับ

 ไหว้ ขอบคุณมากครับ อืมมมมห์

กรณีหลังนี่เคยเขียนคร่าวๆไว้แล้วครับ ใช้ได้จริง

http://www.f0nt.com/forum/index.php/topic,11542.msg768435.html#msg768435
บันทึกการเข้า

<a href="http://img2.f0nt.com/flash/c764e545046436f66e2fd40fa202449b.swf" target="_blank">http://img2.f0nt.com/flash/c764e545046436f66e2fd40fa202449b.swf</a>

ใส่ค่าตัวแปรบนเลเยอร์บนสุดว่าถ้าเกิดเหตุการณ์นี้ให้ทำแบบนี้
function eventMouse(inx, mOver) {
   name = "menu"+inx;
   if (mOver == 0) {
      if ((_root.evt[inx] == 0)) {
         _root.indexOver = inx;
         _root[name].gotoAndPlay(2);
      }
   }
   if (mOver == 1) {
      _root.indexOver = 0;
      if ((_root.evt[inx] == 1)) {
         _root[name].gotoAndStop(57);
      } else {
         _root[name].gotoAndPlay(57);
      }
   }
}
function openMenu(inx) {
   switch (inx) {
   case 1 :
      _root.loadmv1.loadMovie("barbqresortHome.swf");
      _root.loadmv2.loadMovie("barbqresortHomeLow.swf");
      break;
   case 2 :
      _root.loadmv1.loadMovie("barbqresortAboutus.swf");
      break;
   case 3 :
      _root.loadmv1.loadMovie("barbqresortMenu.swf");
      break;
แล้วไปใส่ที่Mcว่าเราจะให้ปุ่มที่ต้องการี้ใช้เหตุการณ์ไหน
on (rollOver) {
   _root.eventMouse(1, 0);
}
on (rollOut) {
   _root.eventMouse(1, 1);
}
on (release) {
   _root.menuOnClick(1);
}
อาจจะงง รอคนเก่งๆมาอธิิบายเพิ่มก็ดีนะครับ
เพราะผมก็ไม่ค่อยรู้มาก กร๊าก
« แก้ไขครั้งสุดท้าย: 18 มี.ค. 2008, 17:21 น. โดย พันเอก » บันทึกการเข้า

สมาชิกสมาคมพ่อบ้านทหารบก
ผมว่ามันมีปัญหานิดนึงอยู่นะครับ


ตอนนี้การทำงานเป็นอย่างนี้
1 เริ่ม(เหลือง)------------2 (เมาส์โอเวอร์)ค่อยๆไปเป็นแดง-------------3 สุด(แดง)---------4 ถ้ามีการคลิกปุ่มอื่นสั่งให้กลับมาเหลือง

แต่ตอนนี้ถ้าเอาเมาส์เข้าแล้วออกก่อนที่จะถึงชั้น 3   มันจะโดดไปชั้น 4 เลยนะครับ


ปล. ผมก็หาวิธีอยู่ครับ
แนวคิดคือน่าจะมีตัวแปรที่บอกการเปิดหรือปิดของปุ่มแต่ละปุ่ม เช่น

ปุ่ม1  = 0 (ปิด) ปุ่ม2  = 0 (ปิด) ปุ่ม3  = 0 (ปิด) ปุ่ม4  = 1 (เปิด(เป็นสีแดง))
ถ้าคลิกปุ่มที่เป็น 0  แล้ว สั่งให้ปุ่มที่เป็น 1 เล่นย้อนกลับ(หรือเดินต่อ) อะไรอย่างนี้เปล่าครับ

« แก้ไขครั้งสุดท้าย: 18 มี.ค. 2008, 19:13 น. โดย Layiji » บันทึกการเข้า

นักเขียนการ์ตูนรายปี
แลกเปลี่ยนกัน สนุกดี ตามที่คุณเลย์ว่าผมก็ว่าจริงครับ ตอนนี้ยังดูอยู่เหมือนกัน จนกว่าเซลจะตามหรือมีงานอื่นเข้ามาแหละครับ ไหว้ (อิอิ)
บันทึกการเข้า

สมาชิกสมาคมพ่อบ้านทหารบก
ลองแก้โดย ใช้ frameTo() ของ lmc_tween แก้ดูครับน่าจะช่วยได้ในเรื่องตอนยกเม้าส์ออกกลางคัน

อาจจะดูแล้วออกจะมักง่าย แต่ผมว่าโอเคนะ

สมมุติ บนปุ่มยังไม่กด

ตอนเม้าส์ rollOver ก็ให้ frameTo(20)
พอเอาเม้าส์ออก rollOut  ก็ให้ frameTo(1)

มันจะเล่นเฟรมแบบต่อเนื่อง ไม่กระตุกกระโดด
สมมุติ พอวางมันเล่นไปถึงเฟรม 13 พอเอาเม้าส์ออก มันก็จะเริ่มถอยจากเฟรมที่ 13 กลับมา
มูวี่เราก็จะไม่กระโดดแบบนั้นครับ

กรณีของคุณพันเอก
อย่างที่ป๋าเลย์ว่า ตอนเอาเม้าส์ออกก่อน มันจะกระโดด เพราะมูวี่ยังเล่นไม่ถึงเฟรมนั้น
พออีเว้นท์โรลเอ้าเกิด มันก็ gotoAndPlay(xx)ไปเฟรมเล่นกลับเลยไงครับ กระโดดเด้งไปเลย

น่าจะแก้ได้ด้วย frameTo()  ลองปรับเปลี่ยนดูครับ ถ้าต้องการ

//ไว้จะเอาปุ่มกรณีแบบนี้มาฝากครับ ว่างๆก่อน
« แก้ไขครั้งสุดท้าย: 18 มี.ค. 2008, 22:59 น. โดย ej_sing » บันทึกการเข้า

ผมว่าใช้ if แล้วก็เปรียบเทียบค่าตัวแปรเป็น 1 กับ 0 ก็น่าจะได้นะครับ  มั้ง

แต่ถ้าใช้พวก tween ละก็ง่ายเลย ติดหนืดเด้งดึ๋งอีกตะหาก

ลองดูไปดูมา ผมว่ามันก็ได้แล้วนี่ครับ มันมีปัญหาตอนเล่นมูฟวี่ไปกลับ เวลาเอาเม้าส์วางทาบเฉยๆเอง
เดี๋ยวทำงานก่อน
« แก้ไขครั้งสุดท้าย: 18 มี.ค. 2008, 23:28 น. โดย ความฝันอันเสียวสุด » บันทึกการเข้า

ในหมู่คนตาบอด คนตาบอดข้างเดียวได้เป็นราชา
ลองทำมาแล้วครับ  (เหงื่อแตกพลั่ก) อาจไม่ใช่อย่างที่คุณพันเอกต้องการ แต่ ใกล้ๆล่ะมั๊งครับ  (เหงื่อแตกพลั่ก)

<a href="http://img2.f0nt.com/flash/6d5c9b6978286fc1d55c6118bff03e72.swf" target="_blank">http://img2.f0nt.com/flash/6d5c9b6978286fc1d55c6118bff03e72.swf</a>
ผมแยกแบบนี้นะครับ ตามเลเยอร์

- ปุ่มใส a_btn , b_btn ... e_btn
- mc_1 , mc_2 ..... mc_5 อยู่ใต้ปุ่ม
- page_mc หลัก แสดงหน้า
- bg

ส่วนของ function chose
ผมใช้วิธี เลือกอันไหนก็แล้วแต่ อันอื่นๆทั้งหมด ก็วิ่งกลับไปเฟรม 1
แล้วค่อย สั่ง mc ตัวที่เลือกให้วิ่งไป เฟรมที่ต้องการ
ถ้าปุ่มอื่นๆมันอยู่เฟรม 1 อยู่แล้ว สคริป FrameTo() ก็ทำงานไม่หนัก( ไม่แน่ใจนักแต่มันก็ไม่หนักนะ)

แอบอ้าง
stop();
#include "lmc_tween.as"
chk = "mc_1";
chose(mc_1);
function chose(mc:MovieClip) {
   for (var i:Number = 1; i<6; i++) {
      _root["mc_"+i].frameTo(1,1);
   }
   mc.frameTo(30,1);
}
function rollO(mc:MovieClip) {
   mc.frameTo(30,1);
}
function rollOt(mc:MovieClip) {
   mc.frameTo(1,1);
}


ส่วนในปุ่ม ผมเอามาเขียนบนไทม์ไลน์ เลยเยอะหน่อย โดยรวมไม่มีอะไรเลยครับ
เช็คแบบธรรมดาๆ (ตัดโค้ดมาปุ่มเดียว) ทั้ง 3 events

หากกด ก็จะสั่ง ฟังชั่น chose ให้ทำงาน ส่ง mc_1 เข้าไป ให้วิ่งไปเฟรมที่ต้องการ
chk คือ ตัวบอกว่า เราอยู่หน้าไหน หรือ เลือกสั่งให้ mc_ ไหนหยุดเฟรมไว้
page_mc คือหน้า page หลักที่ต้องการ page1, page2 ...

โรลโอเวอร์ ก็สั่งวิ่งไป เล่นไปตามสบาย

โรลเอ้าท์ นี่ล่ะ พอเกิดปั๊ป เราก็เช็คเลยว่า
ตอนนี้น่ะ อยู่หน้าไหน หากอยู่หน้าเดียวกับที่เราสั่งไว้ ก็ไม่ทำงาน ก็ยังหยุดเฟรมนั้นไว้
หากไม่ใช่ ก็ วิ่งกลับสบายๆ

แอบอ้าง
a_btn.onRelease = function() {
   chose(mc_1);
   chk = "mc_1";
   page_mc.frameTo(1,3);
};

//////////////////////

a_btn.onRollOver = function() {
   rollO(mc_1);
};

/////////////////////////////

a_btn.onRollOut = function() {
   if (chk != "mc_1") {
      rollOt(mc_1);
   }
};
]


คงพอเป็นแนวทางได้นะครับ อันนี้กรณีใช้ frameto() แบบถึกๆ ลูกทุ่งๆเลยครับ
เพราะตอนนี้คิดได้แค่นี้  ฮือๆ~

แต่ frameTo() ผมว่ามีข้อเสียใหญ่ๆคือ มันสมูทไม่ได้ดั่งใจครับ

// จริงๆใช้ tween ก็ได้ครับสวยกว่าเจ๋งกว่า ปร้บวิธีนิดหน่อย
// แต่พูดถึง frameTo() ไว้ครับเลยทำมาเป็นตัวอย่าง

แนบไฟล์มาแล้ว ลองโหลดไปลองเล่นๆดูครับ
« แก้ไขครั้งสุดท้าย: 19 มี.ค. 2008, 02:03 น. โดย ej_sing » บันทึกการเข้า

เอ้ย อันนี้ก็เข้าท่าดีนะครับ คือผมก็เริ่มจากถึกเอาไง ส่วนใหญ่ผมเขียนสคริปไว้ที่ปุ่มเลย ควบคุมยากอย่างที่บอกเลย 
ยิ่งถ้าไปจับแอดว้านเลย นี่ตายหยั่งเขียด แต่ว่าอันนี้ ก็ มีกลิ่น ว่าจู๋นี้จะเทิร์นโปรนะครับ 
จะสอบ เอเน้ตเขียวเข้ามหาลัยเลยมั้ยละครับ  หมีโหด~
บันทึกการเข้า

ล้ำลึกคนึงหาในดวงจิต ใจเคยคิดตัดสวาทมิอาจสิ้น
ดั่งก้านบัวหักกลางชลาสินธุ์ ผิว่าสิ้นไร้เยื่อยังเหลือใย
ลองดูดีๆนะครับ มันไม่มีอะไรยากครับ
งานอนุบาลสคริปทั้งนั้น เพียงแต่แนวคิดประถมขึ้นมาหน่อย ยังไม่มัธยมครับ  กร๊าก
บันทึกการเข้า

ห้ามใช้ mc tween จิครับ 555
« แก้ไขครั้งสุดท้าย: 19 มี.ค. 2008, 03:18 น. โดย ความฝันอันเสียวสุด » บันทึกการเข้า

ในหมู่คนตาบอด คนตาบอดข้างเดียวได้เป็นราชา
เตรียมอนุบาลแอบเข้ามาดูพี่ๆูเค้าคุยกันค่ะ  ไอ้มืดหมี/
บันทึกการเข้า

กินทุกอย่างยกเว้นต้นหอมค่ะ
ชอบๆ เห็นห้องแฟลชคึกคักแล้วมันเร้าร้อนจริงๆครับ ผมว่าเรามาลองตั้งโจทย์กัน แล้วช่วยกันคึดช่วยกันทำดูไหมครับ
ปล.บวกให้ทุกคนในกระจู๋นี้
ปอบ.เดี๋ยวจะลองเปลี่ยนดูครับวิธีใช้ tween น่าสนใจมากๆ แล้วก็frameto( ) ชอบครับ(ทำไม่ตอนทำเราคึดไม่ได้มั้งหว่า กร๊าก)
บันทึกการเข้า

สมาชิกสมาคมพ่อบ้านทหารบก
ห้ามใช้ mc tween จิครับ 555

เนอะ คงยากดี บอกตรงๆ พอเห็นปั๊ป นึกถึง tween ก่อนเลยครับ  ฮิ้ววว
(ก็บอกแล้วว่ามันดูมักง่าย 555 )
บันทึกการเข้า

หน้า: 1 [2] 3
 
 
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2007, Simple Machines | Thai language by ThaiSMF Valid XHTML 1.0! Valid CSS!