ฟอนต์ฟอรั่ม

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

ชื่อเรื่อง: แฟลชแบบนี้เค้าทำกันอย่างไรคะ ..
โพสต์โดย: alwaeyz เมื่อ 11 พ.ย. 2010, 14:37 น.
http://www.komatsu-ntc.com/ (http://www.komatsu-ntc.com/) แบบเวปนี้ค่ะ
ที่จะเป็นสไลด์รูปภาพ แล้วมันจะเลื่อนเป็นภาพที่เราเอาเมาส์ไปวาง

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

ขอบคุณค่าๆๆๆ
ชื่อเรื่อง: ตอบ: แฟลชแบบนี้เค้าทำกันอย่างไรคะ ..
โพสต์โดย: iannnnn เมื่อ 11 พ.ย. 2010, 18:16 น.
เรื่องมันยาวครับ :44:
ชื่อเรื่อง: ตอบ: แฟลชแบบนี้เค้าทำกันอย่างไรคะ ..
โพสต์โดย: หนูอร เมื่อ 11 พ.ย. 2010, 18:18 น.

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

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


ชื่อเรื่อง: ตอบ: แฟลชแบบนี้เค้าทำกันอย่างไรคะ ..
โพสต์โดย: จักรี เมื่อ 11 พ.ย. 2010, 20:30 น.
เอาแบบง่ายๆ ทำแอนิเมชั่น สไลด์รูป ให้เป็น mc ครับ แล้วสร้างปุ่มขึ้นมาสั่ง mc อีกที

แต่คิดว่าตัวอย่างนั่นน่าจะเขียนสคริปค่อนข้างซับซ้อนนิดนึง รู้สึกว่าอาจจะต้องกำหนดจุด x y ให้มันด้วย
ชื่อเรื่อง: ตอบ: แฟลชแบบนี้เค้าทำกันอย่างไรคะ ..
โพสต์โดย: Bellbells เมื่อ 11 พ.ย. 2010, 22:43 น.
as ไหนอะครับ  :09:
ถ้า 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 น้อยกว่าไปทางขวา ผลักๆกันไปให้เท่ากับจำนวนที่ตัวฉันยืด ส่วนจะเขียนเพิ่มเติมยังไงช่วยตัวเองนะ  :30:

ชื่อเรื่อง: ตอบ: แฟลชแบบนี้เค้าทำกันอย่างไรคะ ..
โพสต์โดย: alwaeyz เมื่อ 15 พ.ย. 2010, 10:46 น.
อ่าๆๆๆๆๆๆๆๆๆๆๆๆๆ
สงสัยท่าจะยากซะแล้ววว

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

จะค่อยๆๆลองศึกษาดูนะคะ
>0< ..