หน้า: [1]
 
ผู้เขียน หัวข้อ: แฟลชแบบนี้เค้าทำกันอย่างไรคะ ..  (อ่าน 3830 ครั้ง)
0 สมาชิก และ 1 ขาจร กำลังดูหัวข้อนี้
http://www.komatsu-ntc.com/ แบบเวปนี้ค่ะ
ที่จะเป็นสไลด์รูปภาพ แล้วมันจะเลื่อนเป็นภาพที่เราเอาเมาส์ไปวาง

รบกวนนนพี่ๆน้าๆสอนหน่อยนะคะ งง

ขอบคุณค่าๆๆๆ
บันทึกการเข้า
เรื่องมันยาวครับ (เหงื่อแตกพลั่ก)
บันทึกการเข้า

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

อธิบายไม่เป็น แต่หลักๆคือเป็นคำสั่งให้อนิเมตตอน Rollover น่ะค่ะ
เครื่องนี้ไม่มีแฟลช เลยลองเปิดมาทำไม่ได้

ลอง google ดูน่าจะมีเว็ปสอนนะคะ  อ๊าง~


บันทึกการเข้า

อันบัน ♥
เอาแบบง่ายๆ ทำแอนิเมชั่น สไลด์รูป ให้เป็น mc ครับ แล้วสร้างปุ่มขึ้นมาสั่ง mc อีกที

แต่คิดว่าตัวอย่างนั่นน่าจะเขียนสคริปค่อนข้างซับซ้อนนิดนึง รู้สึกว่าอาจจะต้องกำหนดจุด x y ให้มันด้วย
บันทึกการเข้า

ล้ำลึกคนึงหาในดวงจิต ใจเคยคิดตัดสวาทมิอาจสิ้น
ดั่งก้านบัวหักกลางชลาสินธุ์ ผิว่าสิ้นไร้เยื่อยังเหลือใย
as ไหนอะครับ  งง
ถ้า as3 เคยทำไว้อะครับ

แอบอ้าง
function moveMasks(currentIndex:int, state:String="over"){
   var targetX:Number
   if(currentIndex > 0){
      var currentMover:MovieClip = this["move"+currentIndex+"_mc"] as MovieClip;
      targetX = currentMover.x;
   }
   
   for(var i:int = currentIndex+1; i <= 5; i++){
      var masker:MovieClip = this["move"+i+"_mc"] as MovieClip;
      if(state == "over"){
         targetX = (oriX[currentIndex-1] - 100) - (26.5*(i-currentIndex-1))-1;
         TweenLite.to(masker, 0.5, {x: targetX, width: oriW[i-1], ease: Expo.easeOut});
      }else if(state == "select"){
         targetX = (oriX[currentIndex-1] - 590) - (26.5*(i-currentIndex-1))-1;
         TweenLite.to(masker, 0.5, {x: targetX, width: oriW[i-1], ease: Expo.easeOut});
      }else{
         TweenLite.to(masker, 0.5, {x: oriX[i-1], width: oriW[i-1], ease: Expo.easeOut});
      }
   }
   
   if(state == "over")
      TweenLite.to(blackbg_mc, 0.5, {width: blackW+75, ease: Expo.easeOut});
   else if(state == "select")
      TweenLite.to(blackbg_mc, 0.5, {width: 800, ease: Expo.easeOut});
   else
      TweenLite.to(blackbg_mc, 0.5, {width: blackW, ease: Expo.easeOut});
}
function onMaskOver(e:MouseEvent){
   var target:MovieClip = e.target as MovieClip;
   var index:int = int(target.name.charAt(4));
   var masker:MovieClip = this["move"+index+"_mc"] as MovieClip;
   moveMasks(index);
   TweenLite.to(this["pic0"+index+"_mc"], 0.5, {alpha:1.0,colorMatrixFilter:{saturation:1}});
   TweenLite.to(masker, 0.5, {width: 100, x: oriX[index-1], ease: Expo.easeOut});
}
function onMaskOut(e:MouseEvent){
   var target:MovieClip = e.target as MovieClip;
   var index:int = int(target.name.charAt(4));
   TweenLite.to(this["pic0"+index+"_mc"], 0.5, {alpha:0.7,colorMatrixFilter:{saturation:0}});
   var masker:MovieClip = this["move"+index+"_mc"] as MovieClip;
   moveMasks(0, "out");
}
function onMaskClick(e:MouseEvent){
   var target:MovieClip = e.target as MovieClip;
   var index:int = int(target.name.charAt(4));
   var masker:MovieClip = this["move"+index+"_mc"] as MovieClip;
   moveMasks(index, "select");
   TweenLite.to(masker, 0.5, {width: 590, x: oriX[index-1], ease: Expo.easeOut});
}

อันนี้ใช้ tween lite นะ มันจะได้ลื่นๆหน่อย ผมใช้วิธีขยาย mask เอารูปภาพวางที่เดิม หลักการก็แค่พอเอาเม้าวางเหนือตัวฉัน
ให้ผลักอันที่ index น้อยกว่าไปทางขวา ผลักๆกันไปให้เท่ากับจำนวนที่ตัวฉันยืด ส่วนจะเขียนเพิ่มเติมยังไงช่วยตัวเองนะ  กร๊าก

บันทึกการเข้า

อ่าๆๆๆๆๆๆๆๆๆๆๆๆๆ
สงสัยท่าจะยากซะแล้ววว

ขอบคุณทุกท่านนมากเลยค่า

จะค่อยๆๆลองศึกษาดูนะคะ
>0< ..
บันทึกการเข้า
หน้า: [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!