หน้า: [1]
 
ผู้เขียน หัวข้อ: สอบถามเรื่องการทำเมนูครับ  (อ่าน 5397 ครั้ง)
0 สมาชิก และ 1 ขาจร กำลังดูหัวข้อนี้
มาอีกแล้วหละ เกรงใจจังเลย  ไหว้

อยากจะให้เจ้าเมนูเนี่ย พอเราชี้ปุ่มนึงแล้ว ปุ่มอื่นๆจางไป

ลองแล้วไม่ได้ซักที มันอยู่ทีการเรียงเลเยอร์รึเปล่าครับ ?

ช่วยบอกวิธีการด้วยครับ

รบกวนด้วยครับ ขอบคุณครับ
บันทึกการเข้า

เพื่อนของเราชื่อความเหงา
เท่าที่คิดออกก็ทำเป็น mc หลาย ๆ frame ครับ มี จำนวน frame เท่ากับ จำนวน menu แล้วก็ทำสีเข้มที่ menu อันนึง ที่เหลือสีอ่อน ทำไปจนครบ เช่น มี 2 menu [Home] [About]

frame ที่ 1 [Home] [About] <--- ไม่มี mouse ไป วางบนอะไรเลย
frame ที่ 2 {{HOME}} [About]
frame ที่ 3 [Home] {{About}}

พอ mouse ไป over ก็ให้มันกระโดดไปที่ frame ที่ menu ตรงนั้นเข้ม เช่นวางบน home ก็กระโดนไป frame 2

บันทึกการเข้า
ถ้าจะมี submenu ก็ตัวอย่างตามนี้ครับ
http://www.flashkit.com/tutorials/Actionscripting/Expert/Very_Hig-_Da-541/index.php
บันทึกการเข้า
ขอบคุณหลายครับ  ไหว้

เดี๋ยวจะลองดูครับ
บันทึกการเข้า

เพื่อนของเราชื่อความเหงา
กรณีนี้แนะนำว่าทำ concept คล้ายๆ กับที่คุณ Wutty ว่าครับ
แต่เปลี่ยนเป็น mc ของแต่ละเมนูมีหลายๆ เฟรมตามจำนวนสถานะ
อาจจะมีแค่ติด กับจาง แต่ระหว่างติดกับจางเราสามารถทำ tween ให้มันค่อยๆ จางก็ได้

เมื่อเอาแต่ละปุ่มมาวางเรียงกันบน timeline หลัก หรือ mc ที่ต้องการ
เราก็คุมให้แต่ละ menu เล่นภายใน mc มันตามสถานะ
วิธีแบบนี้จะช่วยแก้ปัญหาเรื่องการเพิ่ม ลดเมนู ไม่ต้องแก้ไขทั้งหมดอีกครั้ง
เพราะแต่ละเมนูจะเป็นอิสระต่อกัน และช่วยเพิ่มลูกเล่นได้อิสระกว่าครับ
บันทึกการเข้า
menu1.onRollOver = function(){
   menu2._alpha = 50;
   menu3._alpha = 50;
   menu4._alpha = 50;
   menu5._alpha = 50;
}

menu2.onRollOver = function(){
   menu1._alpha = 50;
   menu3._alpha = 50;
   menu4._alpha = 50;
   menu5._alpha = 50;
}

menu3.onRollOver = function(){
   menu1._alpha = 50;
   menu2._alpha = 50;
   menu4._alpha = 50;
   menu5._alpha = 50;
}
menu1.onRollOut = menu2.onRollOut = menu3.onRollOut = menu4.onRollOut = function(){
   menu1._alpha = 100;
   menu2._alpha = 100;
   menu3._alpha = 100;
   menu4._alpha = 100;
   menu5._alpha = 100;
}

แบบนี้ก็ง่ายดีนะ ปลื้ม
« แก้ไขครั้งสุดท้าย: 31 ก.ค. 2007, 18:11 น. โดย thaPIXIE » บันทึกการเข้า
เคยทำแบบข้างบนนี้เหมือนกันครับ รู้สึกว่ามันกำปั้นทุบดิ๊นทุบดิน
พอเห็นว่ามีคนใช้เหมือนกันก็ค่อยโล่งใจหน่อย กร๊าก
บันทึกการเข้า

ทำมาหากินด้วยการเปิดร้านสกรีนเสื้อยืด จ้ะ
menu1.onRollOver = function(){
   menu2._alpha = 50;
   menu3._alpha = 50;
   menu4._alpha = 50;
   menu5._alpha = 50;
}

menu2.onRollOver = function(){
   menu1._alpha = 50;
   menu3._alpha = 50;
   menu4._alpha = 50;
   menu5._alpha = 50;
}

menu3.onRollOver = function(){
   menu1._alpha = 50;
   menu2._alpha = 50;
   menu4._alpha = 50;
   menu5._alpha = 50;
}
menu1.onRollOut = menu2.onRollOut = menu3.onRollOut = menu4.onRollOut = function(){
   menu1._alpha = 100;
   menu2._alpha = 100;
   menu3._alpha = 100;
   menu4._alpha = 100;
   menu5._alpha = 100;
}

แบบนี้ก็ง่ายดีนะ ปลื้ม

เพิ่มเติมให้ครับเขียนเป็น function จะได้แก้ง่าย ๆ หน่อย

สมมติว่าตั้งชื่อ menu เรียงกันนะ 1-5 แล้วก็วางไว้ที่ _root
โดยเขียน script แบบนี้ไว้ที่ stage เลยนะครับ

function setAlpha(menu, alpha) {
   return function() {
      for(i=1;i<=5;i++) {
         if (i!=menu) _root["menu"+i]._alpha = alpha;
      }
   }
}
/*
*  setAlpha เป็น function ที่ return ค่าออกเป็น function เพิ่อเอาไปใส่เป็น function ของ event ของ mouse
*/


for(i=1;i<5;i++) {
   _root["menu"+i].onRollOver = setAlpha(i, 50); // <-- เรียก function เมื่อเอา mouse ไป on จะ setAlpha ของทุกอันที่ไม่ใช่ i เป็น 50
   _root["menu"+i].onRollOut = setAlpha(0, 100); // <-- ใส่ 0 เพราะ ใน function เขียนไว้ว่าถ้า != i มันจะ set ทุกตัว แต่ใน loop วนตั้งแต่ 1 - 5 ดังนั้นมันจะ set ทุกตัว เป็น 100
}
« แก้ไขครั้งสุดท้าย: 31 ก.ค. 2007, 21:52 น. โดย WuTtY » บันทึกการเข้า
ถืกโต้ง...

แต่กลัวน้องเค้ากลัวหนีไปไง เลยไม่ไปยุ่งกะฟังก์ชั่น ฮิ้ววว
บันทึกการเข้า
ขอบคุณครับ ไหว้+
บันทึกการเข้า

ทำมาหากินด้วยการเปิดร้านสกรีนเสื้อยืด จ้ะ
+

โอ้ววว ป่าช้าแตก
บันทึกการเข้า

ล้ำลึกคนึงหาในดวงจิต ใจเคยคิดตัดสวาทมิอาจสิ้น
ดั่งก้านบัวหักกลางชลาสินธุ์ ผิว่าสิ้นไร้เยื่อยังเหลือใย
หน้า: [1]
 
 
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!