อนุบาลงาน ActionSctipt

เริ่มโพสต์โดย ej_sing, 10 พ.ย. 2007, 00:44 น.

0 สมาชิก และ 1 บุคคลทั่วไป กำลังเปิดอ่านโพสต์นี้

RevlonZ

ไม่ไหว advance เกินตามไม่ทัน T^T เฮ้อ หนักใจ..

ดาเฉยๆ

ขอรบกวนถามหน่อยค่ะ
คือว่าไม่เข้าใจโค้ด

var mySound:Sound = new Sound();
mySound.attachSound("try.mp3", true);
mySound.start();


เข้าใจว่าอันที่เป็น load sound เป็นการโหลดไฟล์จากข้างนอก (โฟลเดอร์เดียวกับไฟล์แฟลช)
แต่ว่าเวลาเซฟไปเปิดที่อื่นก็ต้องมีโฟลเดอร์ที่มีไฟล์นั้นอยู่ด้วยใช่มั้ยคะ

ก็เลยเลือกใช้ attach sound ที่ใช้ไฟล์จาก library
ซึ่ง ลองเปลี่ยนชื่อไฟล์หลายแบบแล้ว เสียงมันก็ยังไม่ออก

(จะเอาไปใช้กับฟังก์ชั่น if ถ้าได้คะแนนมาก ออกเสียงนึง ถ้าคะแนนน้อยออกอีกเสียงน่ะค่ะ
นั่งงงกับโค้ดนี้มาเป็นชั่วโมงแล้วอ่ะค่ะ  :05: มันใช้ยังไงเหรอคะ)

ปกติดาใช้เป็น mc แล้วโยนไฟล์เสียงลงไปเลย สคร้งสคริปไม่สนใจ :37:

นายโอ้เอ้

ใช้เสียงใน library จะต้องตั้งชื่อ identifier ให้กับไฟล์เสียงนั้นๆ ด้วย

จากหน้าต่าง library คลิกเลือกที่ไฟล์เสียง
ที่เมนู library option ให้เลือก linkage

จะมีหน้าต่าง properties

แล้วก็กำหนดชื่อในส่วนของ identifier

แล้วกด ok


ส่วนการนำเสียงมาใช้ก็


mySound.attachSound("ชื่อของ identifier ที่ได้ตั้งไว้");



ตามนี้จ้ะ

ลบโปรแกรมไปแล้วเลยเปิดหนังสือปกน้ำเงินมาอธิบายแทน  :27:
Today you , Tomorrow me.

ดาเฉยๆ

กรี๊ด ขอบคุณค่ะ :25:
เดี๋ยวลองไปทำดูก่อน
เห็นสคริปยาวๆแล้วไมเกรนเริ่มจะถามหา

shampoo

1. พี่ๆคะ ใส่ as ให้ปุ่มหยุดใน Time line หลักแล้วแต่ทำไม mc ไม่หยุดคะ

นายโอ้เอ้

ใส่โค๊ดไว้ว่าอย่างไรเล่า แม่นาง..
Today you , Tomorrow me.

shampoo


กากก่อเกรียนนู้บ

อ้างคำพูดจาก: shampoo เมื่อ 16 ก.ย. 2008, 21:37 น.
1. พี่ๆคะ ใส่ as ให้ปุ่มหยุดใน Time line หลักแล้วแต่ทำไม mc ไม่หยุดคะ

ให้ mc หยุด ก็ต้องสั่ง mc ด้วยครับ

คนตาบอดข้างเดียว

#308
on (release){
_root.mc.stop();
}

ใส่ไว้ที่ปุ่มก็แบบนี้ครับ

ถามได้เข้ากับชื่อกระจู๋ดีมาก  เห็นพักหลังเป๋ไปชั้นประถมกันหมดเลย
ในหมู่คนตาบอด คนตาบอดข้างเดียวได้เป็นราชา

จักรี

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

ej_sing

หลังจากนี้ หรืออ่านมาถึงตรงนี้ก็ไปซื้อหนังสือ actionscript มาเก็บไว้ได้แล้วครับ  :12:

หรือรอให้เซียนๆ มาต่อเรื่อง ประถม มัธยมนะ ผมหมดมุขแล้ว
ความรู้มีเท่าหางอึ่งที่เห็นๆนั่นแหล่ะครับ  :12:

ไอ้เบิร์ด

อ้างคำพูดจาก: ej_sing เมื่อ 22 ก.ย. 2008, 23:38 น.
หลังจากนี้ หรืออ่านมาถึงตรงนี้ก็ไปซื้อหนังสือ actionscript มาเก็บไว้ได้แล้วครับ  :12:

หรือรอให้เซียนๆ มาต่อเรื่อง ประถม มัธยมนะ ผมหมดมุขแล้ว
ความรู้มีเท่าหางอึ่งที่เห็นๆนั่นแหล่ะครับ  :12:

ขอบคุณครับ  ช่างเป็นอึ่งที่หางยาวยิ่งนัก
"...ถ้าสายตาเราชินกับในที่มืดแล้ว คงยากที่จะเพ่งมองโลกภายนอกได้..."

ไอ้เบิร์ด

อยากรู้เรื่อง tweener อะครับ อยากให้่ผู้รู้มาช่วยสอนต่อให้หน่อยครับ

กำลังหัดลองเขียนอยู่ครับ
"...ถ้าสายตาเราชินกับในที่มืดแล้ว คงยากที่จะเพ่งมองโลกภายนอกได้..."

ej_sing

#313
tweener AS2.0 หรือ AS3.0

ถ้า AS2.0 รออาจารย์ก่อแกว่างๆมาสอนนะครับ





ถ้า AS3.0 ก็.............รออาจารย์ก่อแกว่างๆมาสอนนะครับ  :42:

ผมไม่รู้เรื่องเลย ไม่เคยลอง


ถ้ายังอยู่ที่ AS2.0 แนะนำ  lmc_tween ครับ ง่ายมาาาาาาาากกกก ติดตั้งก็ง่าย ใช้ก็ง่าย
// ลองคุ้ยๆดูครับมีเกริ่นๆไว้บ้าง
เจอล่ะ http://www.f0nt.com/forum/index.php/topic,11542.msg817201/topicseen.html#msg817201




กากก่อเกรียนนู้บ

#314
 :30: น้าแอ๊ด
---------
Tweener = Library ฟรีตัวนึงครับ ที่ช่วยเรื่องเกี่ยวกับ Transition ของวัตถุหลายชนิด เช่น การเคลื่อนที่, เปลี่ยนสี, เปลี่ยนความดังเสียง ฯลฯ โดยที่เราไม่ต้องออกเเรงเขียนคำสั่งยาวๆ ด้วยตัวเอง อะตัวอย่างครับเช่น

สมมติว่ามี Movie Clip ตัวหนึ่งบน Stage ตั้งชื่อ Instance name ว่า _mc ให้
- เคลื่อนที่จากจุด 0,0 ไปยังจุด 10,300 แบบมีความหน่วง* ภายในเวลา 1 วินาที
(*ความหน่วง หมายถึง การที่วัตถุเคลื่อนที่ด้วยความเร่งติดลบ หรือก็คือ เหมือนเราขับรถมา แล้วเหยียบเบรกนั่นแหละครับ)

วิธีเดิมเนี่ย เราก็ต้องทำแบบนี้ครับ

(AS1.0, AS2.0)
_mc._x = 0;
_mc._y = 0;
_mc.onEnterFrame = function(){
  this._x += (10-this._x)/8;
  this._y += (300-this._y)/8;
  if(Math.abs(this._x - 10) <= 0.5 && Math.abs(this._y - 300) <= 0.5){
     delete this.onEnterFrame;
  }
};


(AS3.0)
_mc.x = 0;
_mc.y = 0;
_mc.addEventListener(Event.ENTER_FRAME, onMoving);
function onMoving(evt:Event):void{
  var _mc:MovieClip = evt.target as MovieClip;
  _mc.x += (10-_mc.x)/8;
  _mc.y += (300-_mc.y)/8;
  if(Math.abs(_mc.x-10) <= 0.5 && Math.abs(_mc.y-300) <= 0.5){
    _mc.removeEventListener(Event.ENTER_FRAME, onMoving);
  }
}


ยาว ยาก มึน  :08:

Tweener เลยเป็นพระเอกขี่ม้าขาวมาช่วยครับ
(โหลดที่ http://code.google.com/p/tweener/ )
วิธีใหม่

AS1.0 => ให้โหลดตัว mc_tween2 มาใช้ครับ [ http://hosted.zeh.com.br/mctween/ ]
(คนทำคนเดียวกันครับ)
#include "mc_tween2.as"
_mc._x = 0;
_mc._y = 0;
_mc.slideTo(10,300,1,"easeOutExpo");


AS2.0 => คือ AS1.0 ที่เขียนเป็นคลาสครับ
import caurina.transitions.Tweener;
_mc._x = 0;
_mc._y = 0;
Tweener.addTween(_mc, {_x: 10, _y: 300, time: 1, transition: "easeOutExpo"});


AS3.0
import caurina.transitions.Tweener;
_mc.x = 0;
_mc.y = 0;
Tweener.addTween(_mc, {x: 10, y: 300, time: 1, transition: "easeOutExpo"});


อูย.. สั้นกว่าเห็นๆ (เหลือบรรทัดเดียวเองครับ)

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

สะดวกอีกอย่างตรงที่ เราสามารถตรวจเช็คว่ามันเคลื่อนที่เสร็จรึยังได้ด้วยนะ
ลองอ่าน Document เค้าดูนะครับ [ http://hosted.zeh.com.br/tweener/docs/en-us/ ]
:12:

----------
แถมให้ครับ
วิธีการ Transition เสียง -- การทำเสียงค่อยๆ เบาลงด้วย Tweener
สมมติว่า มีเสียงใน Library ตั้ง Linkage ว่า sound1 นะครับ

(AS1.0)
#include "mc_tween2.as"
var s = new Sound();
s.attachSound("sound1");
s.start();

s.volumeTo(0, 1); //ค่อยๆ เบาเสียงจากดังสุด (100) ไปจนไม่มีเสียง ภายในเวลา 1 วินาที


(AS2.0)
import caurina.transitions.Tweener;
import caurina.transitions.properties.SoundShortcuts;
SoundShortcuts.init();

var s:Sound = new Sound();
s.attachSound("sound1");
s.start();

Tweener.addTween(s, {_sound_volume: 0, time: 1});


(AS3.0)
import caurina.transitions.Tweener;
import caurina.transitions.properties.SoundShortcuts;
import flash.media.SoundChannel;
SoundShortcuts.init();

var s:Sound = new sound1();
var sc:SoundChannel = s.play();

Tweener.addTweener(sc, {_sound_volume: 0, time: 1});


-----------
ยังไงถ้ามีปัญหา ก็ถามมาได้เลยนะครับ  :42:

SMF 2.1.7 © 2026, Simple Machines