หน้า: 1 ... 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 ... 31
 
ผู้เขียน หัวข้อ: อนุบาลงาน ActionSctipt  (อ่าน 321306 ครั้ง)
0 สมาชิก และ 1 ขาจร กำลังดูหัวข้อนี้
ใช้ทำการอันใดครับ ? กรี๊ดดดดด

ลองไปค้นมา น่ารักดี กร๊าก

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/fl/transitions/Tween.html#yoyo()

เหมือนสั่งให้ทำงาน พอสุดแล้วเด้งย้อนกลับมั้งครับ กรี๊ดดดดด
บันทึกการเข้า

ทำมาหากินด้วยการเปิดร้านสกรีนเสื้อยืด จ้ะ
<a href="http://img2.f0nt.com/flash/d04465af6d13bc14050e79579ecc942d.swf" target="_blank">http://img2.f0nt.com/flash/d04465af6d13bc14050e79579ecc942d.swf</a>

บันทึกการเข้า
โอ้ว ขอบคุณมากครับ ลันล้า

กำลังงมอยู่... หน้ามึน
บันทึกการเข้า

ก้าวแรกที่พลาดพลั้ง คือก้าวหลังที่มั่นใจ ก้าวแรกที่เสียไป คือก้าวใหม่ที่ได้มา...
ใช้ AS 3.0 ไม่เป็น ฮือๆ~
บันทึกการเข้า

지금은 소녀시대 , 앞으로도 소녀시대 , 영원히 소녀시대
เผอิญเพื่อนมาถามให้ช่วยเขียนโค้ดให้ประมาณนี้
เลยทำมาประมาณนี้ ให้เพื่อนไป

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

ส่วนข้างล่างนี่ คือโค้ดที่ใช้ทั้งหมดครับ
โค้ด:
mcRotate.onPress = function(){
startrotate = 1;
}
mcRotate.onRelease = mcRotate.onRollOut = mcRotate.onReleaseOutside = function(){
startrotate = 0;
}
mcRotate.onEnterFrame = function(){
if(startrotate == 1){
xVal = this._x - _xmouse;
yVal = _ymouse -this._y;
rotate =(Math.atan2(xVal, yVal)-1.5) * 60;
rotate = rotate % 360;
if(rotate < 0){
rotate += 360;
}
if((rotate >0 && rotate<180)){
mcRotate._rotation = rotate;
}
}else{
if(mcRotate._rotation > 0){
mcRotate._rotation -=2;
}
}
}

ตัวนี้ เพื่อนบอกมาว่า จะให้หมุนได้แค่ 180 องศาบน พอปล่อยเมาท์ ก็ให้มันหมุนกลับมาน่ะครับ

ซึ่งตัวนี้ ที่ผมใช้หลักๆ คือ ช่วงที่กด กับช่วงที่ปล่อย
แล้วก็ใช้ onEnterFrame ในการให้มันทำ animation ตลอดเวลาที่แสดงผลอยู่

แล้วก็
โค้ด:
xVal = this._x - _xmouse;
yVal = _ymouse -this._y;
rotate =(Math.atan2(xVal, yVal)-1.5) * 60;
rotate = rotate % 360;
if(rotate < 0){
rotate += 360;
}
เป็นโค้ดที่ทำให้เราหาได้ว่า ตอนนี้ เม้าท์เรา ทำองศาเท่าไร กับตัว movie clip นั้นอยู่
หลักๆ ก็ประมาณนี้น่ะครับ

ปล. อาจจะมีโค้ดที่ง่ายกว่านี้นะครับในการหาองศา แต่เนื่องจากไม่มีเวลา เลยต้องมานั่งบู้ + มั่วเอาจนได้มา
« แก้ไขครั้งสุดท้าย: 25 ก.พ. 2008, 22:51 น. โดย poloh » บันทึกการเข้า

ก่อสร้างกับทำลาย เหมือนที่ลงมือ ต่างที่การกระทำ
เยี่ยมครับ

แต่น่าจะใช้วิธี พอปล่อยปุ่ม ลบเอนเตอร์เฟรมเลย
แล้วเอาค่าสุดท้ายให้ lmc_tween เป็นตัวส่งกลับ (หมุนกัลบไปตำแหน่งเดิม)

เดี๋ยวทำมาแบบง่ายๆ พอเป็นแนวทางอีกแบบครับ
แป๊ปนึง
บันทึกการเข้า

อ่อ ครับผม ขอบคุณครับ ลืมคิดไปเลย เรื่องลบ enterFrame

ความจริง ยังมีอีกหลายตัว ที่ได้เขียนเอาไว้
ไว้จะเอามาให้พี่ดูอีกทีครับ เพื่องานหน้า จะได้ทำให้ดีขึ้น อืมมมมห์

ตอนนี้แค่ปั่นงาน ก็หมดเวลาไปหลายละ ไม่กล้าแก้ เดี๋ยวไม่ทันส่ง อี๋~
บันทึกการเข้า

ก่อสร้างกับทำลาย เหมือนที่ลงมือ ต่างที่การกระทำ
แบบนี้ก็เยี่ยมแล้วครับ มาช่วยกันโพสนะครับ เอากรณีใช้จริงนี่ล่ะ เจ๋งนักแล


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

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

แอบอ้าง
stop();
#include "lmc_tween.as"
chk = new Boolean(false);
_mc.onPress = function() {
   chk = true;
   rotate_me();
};
_mc.onRelease= _mc.onReleaseOutside =function(){;
chk=false;
rotate_me();
_mc.tween("_rotation",0,2);
};
function rotate_me() {
if (_root.chk) {
   _mc.onEnterFrame = function() {
      rdn = Math.atan2((_root._ymouse-_root._mc._y), (_root._xmouse-_root._mc._x)); //บรรทัดนี้ หาค่าตำแหน่งค่ามุมเม้าส์
      _root._mc._rotation = rdn*180/Math.PI+180; //แปลงเป็นองศา ส่งกลับไปหมุน
   };
} else {
   delete _mc.onEnterFrame;
}
}


// อย่าหวังว่าผมจะคิดสูตรเองนะครับ ยิ้มน่ารัก เอามาจากหนังสือน่ะ คิดสูตรแบบนี้ คิดเองคิดทั้งปีก็ไม่ออก  กร๊าก

แจกด้วยจ้า เอาไปเลย เป็น FL8 แล้ว
« แก้ไขครั้งสุดท้าย: 26 ก.พ. 2008, 00:45 น. โดย ej_sing » บันทึกการเข้า

อุอุ ดูดๆ อย่างเดียวครับ แซบหลาย หื่น
บันทึกการเข้า

ก้าวแรกที่พลาดพลั้ง คือก้าวหลังที่มั่นใจ ก้าวแรกที่เสียไป คือก้าวใหม่ที่ได้มา...
อ่ะ เต็มที่เลยครับพี่น้อง  เอือม

จากโค้ดด้านบน ที่ดึงค่า radian ของเม้าส์ เอามาแปลงเป็นองศา แล้วหมุน

แอบอ้าง
rdn = Math.atan2((_root._ymouse-_root._mc._y), (_root._xmouse-_root._mc._x)); //บรรทัดนี้ หาค่าตำแหน่งค่ามุมเม้าส์
      _root._mc._rotation = rdn*180/Math.PI+180; //แปลงเป็นองศา ส่งกลับไปหมุน


ตัวอย่างการประยุกต์
เอาง่ายๆเลยอันนี้

คลิก แล้วตามมานะ หันหน้ามาด้วย  ยิ้มน่ารัก

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

แอบอ้าง
stop();
#include "lmc_tween.as"
n=1
var someListener:Object = new Object();
someListener.onMouseDown = function () {
   rdn = Math.atan2((_root._ymouse-_root._mc._y), (_root._xmouse-_root._mc._x));
      _mc.tween("_rotation",rdn*180/Math.PI+90,0.5) //***
      _mc.tween("_y",_ymouse,3)
      _mc.tween("_x",_xmouse,3)
                point()
   };
Mouse.addListener(someListener);
function point(){
   pt._x = _xmouse
   pt._y = _ymouse
   pt.gotoAndPlay(1)
}


ส่วนสีแดงนั่น ให้ดูจุด pivot เริ่มต้น ของ mc ครับ หาก ตั้งตรงก็ 90  หันซ้ายก็ 180

ลองทำดูนะครับ

ไม่แจกครับ     หมีโหด~








อ่ะล้อเล่น  คริคริ
บันทึกการเข้า

เหวอ เป๋แล้ว นี่ไม่อนุบาลแล้วนะครับ
บันทึกการเข้า

ทำมาหากินด้วยการเปิดร้านสกรีนเสื้อยืด จ้ะ
 ฮือๆ~ ขอโต๊ดดด
แก้ตัวงานหน้านะ  ฮือๆ~
บันทึกการเข้า

 ไหว้ ขอบคุณมากค่ะ มีอะไรสนุกๆมาให้ศึกษาตลอดเลย ปลื้ม
บันทึกการเข้า
 กรี๊ดดดดด +
เจ๋งครับป๋า
บันทึกการเข้า

ในหมู่คนตาบอด คนตาบอดข้างเดียวได้เป็นราชา
   
   สวัสดีครับ หลังจากไล่อ่านกระทู้นี้มาตั้งหลายวัน  ฮือๆ~
   
   ได้ความรู้เพิ่มอีกหลายอย่างเลยเกี่ยวกับการเขียน AS

   ตัวผมเองก็พอจะเคยเขียนมาบ้างแต่ก็ไ่ม่ได้เก่งเท่าไหร่
   
   ขอบคุณ คุณน๊าแอ๊ดที่ตั้งใจเขียนบทเรียนดีๆ แบบนี้ให้ชาวฟอนต์ได้อ่านกันนะครับ  เจ๋ง
   
   จะติดตามต่อไป ถ้าเกิดมีอะไรที่พอจะทราบจะขออนุญาติร่วมด้วยคนนะครับ
 
   ฝากเนื้อฝากตัวด้วยครับผม  ฮิ้ววว
บันทึกการเข้า

์NY Together
หน้า: 1 ... 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 ... 31
 
 
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!