ใจดีโปรเจค

หมวดหมู่ทั่วไป => tutorials-flash => ข้อความที่เริ่มโดย: admin ที่ 27 พฤษภาคม 2013, 10:47:56 am



หัวข้อ: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: admin ที่ 27 พฤษภาคม 2013, 10:47:56 am
สอน Flash ทำปุ่ม ลิงค์ไป เฟรม,ซีน (secne) ต่างๆ (http://www.youtube.com/watch?v=Ov8FWFVbSPs#)

รูปแบบโค้ดที่ใช้กับปุ่ม

โค๊ด:
function ชื่อฟังก์ชั่นที่จะเกิดเมื่อกดปุ่ม(event:MouseEvent):void
{
//โค้ดการกระทำที่จะเกิด เมื่อกดปุ่มแล้ว
}

ชื่อปุ่ม.addEventListener(MouseEvent.CLICK, ชื่อฟังก์ชั่นที่จะเกิดเมื่อกดปุ่ม)

ตัวอย่างโค้ด สมมุติกดปุ่มชื่อ btn1 ให้ลิงค์ไปเฟรมที่ 1 Scene ที่ 2 สามารถใส่โค้ดได้ดังนี้

โค๊ด:
function onClickBtn1(event:MouseEvent):void
{
gotoAndPlay(1,"Scene 2")
}

btn1 .addEventListener(MouseEvent.CLICK, onClickBtn1)

เป็นต้น ครับผม


หัวข้อ: Re: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: Siwachon ที่ 19 มิถุนายน 2013, 04:37:23 pm
ขอบคุณมากครับผมกำลังลองทำบทเรียนสำเร็จรูปพอดี ขอบคุณสำหรับความรู้ที่ไม่มีที่สิ้นสุดจากพี่ๆใจดีโปรเจคครับ


หัวข้อ: Re: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: haelan ที่ 18 กรกฎาคม 2013, 01:47:33 pm
ทำแล้วมันกดไม่ได้ค่ะ

รู้สึกว่ามันจะแจ้งว่าบรรทัดสุดท้ายมีปัญหาค่ะ

function onClickStart1(event:MouseEvent):void
{
   gotoAndStop(1,"Scene 2")
}

Start1 .addEventListener(MouseEvent.CLICK, onClickStart1) <<<<< บรรทัดนี้มีปัญหาค่ะ

วานผู้รู้ช่วยตรวจสอบให้ทีค่ะ


หัวข้อ: Re: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: admin ที่ 18 กรกฎาคม 2013, 02:24:16 pm
ทำแล้วมันกดไม่ได้ค่ะ

รู้สึกว่ามันจะแจ้งว่าบรรทัดสุดท้ายมีปัญหาค่ะ

function onClickStart1(event:MouseEvent):void
{
   gotoAndStop(1,"Scene 2")
}

Start1.addEventListener(MouseEvent.CLICK, onClickStart1) <<<<< บรรทัดนี้มีปัญหาค่ะ

วานผู้รู้ช่วยตรวจสอบให้ทีค่ะ


เป็นเพราะ ยังไม่ได้ตั้งชื่อปุ่มหรือเปล่าครับ ปุ่มต้องตั้งชื่อใน properties ว่า Start1 ด้วยนะครับ
**แต่พี่แบงก์ขอเสริมนิดนึงว่าปุ่ม ไม่ควรใช้ตัวใหญ่นำหน้านะครับ ตามกฏการตั้งชื่อตัวแปร สิ่งที่จะมีตัวใหญ่นำหน้าได้ ควรเป้น คลาสครับผม
ดังนั้นปุ่มอาจตั้งชื่อใหม่เป็น start1 ก็ได้ครับผม ส่วนสคริปก็ต้องใส่ start1 เช่นกันนะครับ  ;)


หัวข้อ: Re: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: haelan ที่ 25 กรกฎาคม 2013, 02:12:14 pm
ลองดูแล้วค่ะ แต่ตอนแสดงผล มันคลิกไม่ได้ แล้วมันก็เปลี่ยนไปซีนที่ 2 เองโดยอัตดนมัติทั้งๆที่ยังไม่ได้คลิกเลยค่ะ


หัวข้อ: Re: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: admin ที่ 26 กรกฎาคม 2013, 02:06:02 pm
ไปเฟรม 2 เองโดยยังไม่ได้คลิ๊ก เพราะยังไม่ได้ใส่ stop(); ลงไปที่เฟรมหรือเปล่าครับ มันจะเล่นเลยไปน่ะครับ


หัวข้อ: Re: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: haelan ที่ 27 สิงหาคม 2013, 06:40:53 pm
ใส่ไปแล้วค่ะ แต่มันก็ไม่ได้ ลองสังเกตุอีกที คำว่า MouseEvent.CLICK มันไม่ขึ้นตัวสีฟ้า เลยน่าจะทำให้มันไม่ลิงค์ไป


หัวข้อ: Re: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: haelan ที่ 27 สิงหาคม 2013, 08:52:33 pm
ที่มันไม่ขึ้นตัวสีฟ้าเพราะทำใน macromedia พอลองทำใน adobe มันขึ้นสีฟ้าแล้ว แต่ก็ไม่ได้อยู่ดีค่ะ

หนูใส่แบบนี้ไป

 stop();
function onClickStart1(event:MouseEvent):void
{
   gotoAndStop(1,"Scene 2")
}
start1 .addEventListener(MouseEvent.CLICK, onClickStart1);

แล้วมันก็ขึ้นมาบอกว่า
Scene=Scene 1, layer=Layer 1, frame=1, Line 1   Statement must appear within on handler
Scene=Scene 1, layer=Layer 1, frame=1, Line 2   The class or interface 'MouseEvent' could not be loaded.
Scene=Scene 1, layer=Layer 1, frame=1, Line 4   Scene name must be quoted string
Scene=Scene 1, layer=Layer 1, frame=1, Line 2   Statement must appear within on handler
Scene=Scene 1, layer=Layer 1, frame=1, Line 6   Statement must appear within on handler
 

หนูต้องแก้ไขยังไงบ้างคะ หนูไม่ค่อยเข้าใจเลย





หัวข้อ: Re: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: admin ที่ 29 สิงหาคม 2013, 04:52:23 pm
น้องเผลอไปเลือกเป็น as2 หรือเปล่าครับผม อย่างไร พี่รบกวนขอ fla ด้วยนะครับผม


หัวข้อ: Re: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: devil029 ที่ 31 สิงหาคม 2013, 04:22:25 am
ถ้าในหน้านึงต้องการลิงค์ไป scene อื่น มากกว่า 1 ปุ่ม (2-10 ปุ่ม)
ต้องทำยังไงคะ


หัวข้อ: Re: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: admin ที่ 31 สิงหาคม 2013, 02:42:08 pm
ลองดูเสริมใน
http://www.jaid-project.com/webboard/index.php?topic=807 (http://www.jaid-project.com/webboard/index.php?topic=807)

มันจะการลิงค์แบบย่อให้นะครับผม

หากชำนาญแล้ว อนาคตอาจใช้ for วนลูปการตั้งค่าได้ครับ



หัวข้อ: Re: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: nutthapoom.in ที่ 13 กันยายน 2013, 10:31:05 am
ถ้าจะทำแบบหลายๆปุ่ม ต้องใช้สคริป ยังไงครับ  ???***ขอบคุณครับ


หัวข้อ: Re: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: admin ที่ 13 กันยายน 2013, 01:42:25 pm
ถ้าจะทำแบบหลายๆปุ่ม ต้องใช้สคริป ยังไงครับ  ???***ขอบคุณครับ


ต้องดูบท
http://www.jaid-project.com/webboard/index.php?topic=807 (http://www.jaid-project.com/webboard/index.php?topic=807)

จะมีการทำหลายๆ ปุ่มใน ฟังก์ชั่นเดียวนะครับ อยู่เป้นช่วงสอน แบบลึกหน่อยน่ะครับ


หัวข้อ: Re: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: nutthapoom.in ที่ 13 กันยายน 2013, 03:28:25 pm
ถ้าจะทำแบบหลายๆปุ่ม ต้องใช้สคริป ยังไงครับ  ???***ขอบคุณครับ


ต้องดูบท
[url]http://www.jaid-project.com/webboard/index.php?topic=807[/url] ([url]http://www.jaid-project.com/webboard/index.php?topic=807[/url])

จะมีการทำหลายๆ ปุ่มใน ฟังก์ชั่นเดียวนะครับ อยู่เป้นช่วงสอน แบบลึกหน่อยน่ะครับ


ขอบคุณครับ


หัวข้อ: Re: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: Supachai953 ที่ 14 กันยายน 2013, 12:37:09 pm
สมมุติ ว่าผม ต้องการทำ ปุ่ม ให้ลิงค์ได้ 3 หน้า ในscene เดียวกัน
เช่น หน้า 1 เมื่อคลิกปุ่มให้ไป หน้า 2  เมื่อคลิกปุ่มให้ไป ไป หน้า 3


ผมใช้คำสั่งนี้ เมื่อคลิก ปุ่ม ในหน้า 1 มันจะไปที่ หน้า 2 และที่หน้า 3 เองเลย
on(release){
   gotoAndPlay(2)
}

คำถามคือ ผมจะทำอย่างไร เมื่อคลิกปุ่มที่หน้า 1 แล้ว ให้ไปหยุดที่ หน้า 2 และสามารถคลิกปุ่มที่ หน้า 2 ไปหน้า 3 ได้ครับ


หัวข้อ: Re: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: admin ที่ 17 กันยายน 2013, 01:11:59 pm
ถ้าใช้ as2 ก็ใช้

on(release){
   gotoAndStop(2);
}

ครับผม


หัวข้อ: Re: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: bassasa ที่ 23 กันยายน 2013, 03:56:37 pm
พี่ครับผมทำเเบบที่กดปุ่มเเล้วไปเล่นในเฟรมที่กำหนดในsceneเเรก เเล้วพอจบให้ไปยังsceneที่กำหนด อะครับต้องใช้คำสั่งไรครับ
เพราะใส่  gotoAndPlay ในเเต่ละฟังชั่นได้อันเดียว


function gotofram1(evrnt:MouseEvent)
{
   
   gotoAndPlay(1);
       
   
}
gtf1.addEventListener(MouseEvent.CLICK,gotofram1);


หัวข้อ: Re: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: admin ที่ 24 กันยายน 2013, 10:54:30 am
พี่พูดตามตรงว่ายังไม่ไเข้าใจคำถามเท่าไรนะครับ

//ตัวอย่างโค้ดปุ่มไปซีนที่กำหนด
โค๊ด:
function onClickBtn1(event:MouseEvent):void
{
btn1 .removeEventListener(MouseEvent.CLICK, onClickBtn1)
gotoAndPlay(1,"Scene 2")
}

btn1 .addEventListener(MouseEvent.CLICK, onClickBtn1)

พอไปซีนที่เราต้องการก็ ใส่ดค้ดคล้ายๆแบบนี้อีกครั้งน่ะครับ

แต่หากอยากให้หลายๆปุ่มให้ฟังก์ชั่นเดียวกันลองดูคลิปนี้นะครับ
http://www.jaid-project.com/webboard/index.php?topic=807 (http://www.jaid-project.com/webboard/index.php?topic=807)

หลังๆจะมี ขั้นประยุกต์อยู่ข้างหลัง ลองทำความเข้าใจดูได้ครับผม


หัวข้อ: Re: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: NiYam ที่ 18 ธันวาคม 2013, 08:36:32 pm
 ??? ผมทำตามแล้วทำไม มัน Error ครับ 

อ้างถึง
stop();

//----------------
function onClickHome1(event:MouseEvent):void
{
   home1.removeEventListener(MouseEvent.CLICK, onClickHome1)
   gotoAndPlay(1,"Scene 3")
}

home1.addEventListener(MouseEvent.CLICK, onClickHome1)
//----------------
function onClickHome2(event:MouseEvent):void
{
   home2.removeEventListener(MouseEvent.CLICK, onClickHome2)
   gotoAndPlay(1,"Scene 4")
}

home2.addEventListener(MouseEvent.CLICK, onClickHome2)
//----------------
function onClickHome3(event:MouseEvent):void
{
   home3.removeEventListener(MouseEvent.CLICK, onClickHome3)
   gotoAndPlay(1,"Scene 5")
}

home3.addEventListener(MouseEvent.CLICK, onClickHome3)
//----------------
function onClickHome4(event:MouseEvent):void
{
   home4.removeEventListener(MouseEvent.CLICK, onClickHome4)
   gotoAndPlay(1,"Scene 6")
}

home4.addEventListener(MouseEvent.CLICK, onClickHome4)
//----------------
function onClickHome5(event:MouseEvent):void
{
   home5.removeEventListener(MouseEvent.CLICK, onClickHome5)
   gotoAndPlay(1,"Scene 7")
}

home5.addEventListener(MouseEvent.CLICK, onClickHome5)
//----------------
function onClickHome6(event:MouseEvent):void
{
   home6.removeEventListener(MouseEvent.CLICK, onClickHome6)
   gotoAndPlay(1,"Scene 8")
}

home6.addEventListener(MouseEvent.CLICK, onClickHome6)
//----------------
function onClickHome7(event:MouseEvent):void
{
   home7.removeEventListener(MouseEvent.CLICK, onClickHome7)
   gotoAndPlay(1,"Scene 9")
}

home7.addEventListener(MouseEvent.CLICK, onClickHome7)
//----------------
function onClickHome8(event:MouseEvent):void
{
   home8.removeEventListener(MouseEvent.CLICK, onClickHome8)
   gotoAndPlay(1,"Scene 10")
}

home8.addEventListener(MouseEvent.CLICK, onClickHome8)
//----------------
function onClickHome9(event:MouseEvent):void
{
   home9.removeEventListener(MouseEvent.CLICK, onClickHome9)
   gotoAndPlay(1,"Scene 11")
}

home9.addEventListener(MouseEvent.CLICK, onClickHome9)
//----------------
function onClickHome10(event:MouseEvent):void
{
   home10.removeEventListener(MouseEvent.CLICK, onClickHome10)
   gotoAndPlay(1,"Scene 12")
}

home10.addEventListener(MouseEvent.CLICK, onClickHome10)
//----------------

มันก็ Error

อ้างถึง
TypeError: Error #1009: Cannot access a property or method of a null object reference.
   at IS_fla::MainTimeline/frame185()

แต่พอ รันแล้ว ปุ่ม home1 ใช้ได้นะครับส่วนที่เหลือ ใช้ไม่ได้ 
ขอบคุณพี่ๆ ครับ


หัวข้อ: Re: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: admin ที่ 18 ธันวาคม 2013, 10:58:43 pm
ที่แจ้ง
TypeError: Error #1009: Cannot access a property or method of a null object reference.

มันแจ้งหาว่า วัตถุหรือฟังก์ชั่นนั้นๆ ไม่เจอ รบกวนลองเช็คดูว่า ปุ่มที่ใส่ ใส่ชื่อตรงกับโค้ดทุกปุ่มหรือไม่
ลองดูเผื่อไปชื่อ ซีน เลยก็ได้ว่าพิมพ์ถูกหรือไม่น่ะครับ

เวลาเทสอาจจะ ใส่ /* */  ครอบโค้ดก่อน เพื่อผิดให้โค้ดที่โดนครอบไม่ทำงาน แล้วค่อยๆเช็คไปทีละปุ่มจะดีกว่าหาทีเดียวทั้งหมดครับผม


หัวข้อ: Re: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: NiYam ที่ 19 ธันวาคม 2013, 10:37:27 pm
ที่แจ้ง
TypeError: Error #1009: Cannot access a property or method of a null object reference.

มันแจ้งหาว่า วัตถุหรือฟังก์ชั่นนั้นๆ ไม่เจอ รบกวนลองเช็คดูว่า ปุ่มที่ใส่ ใส่ชื่อตรงกับโค้ดทุกปุ่มหรือไม่
ลองดูเผื่อไปชื่อ ซีน เลยก็ได้ว่าพิมพ์ถูกหรือไม่น่ะครับ

เวลาเทสอาจจะ ใส่ /* */  ครอบโค้ดก่อน เพื่อผิดให้โค้ดที่โดนครอบไม่ทำงาน แล้วค่อยๆเช็คไปทีละปุ่มจะดีกว่าหาทีเดียวทั้งหมดครับผม

ขอบคุณมากๆ ครับ สำหรับคำแนะนำ สามารถใช้คำสั่งไปซีนอื่นได้แล้ว  :D
แต่ ทีนี้ ซีน 6-12 มันหยุดที่ซีน1 ไม่เล่น(ทั้งที่ยังไม่มีสคริบใดๆ เลยนอกจากคำถาม Error ครั้งก่อน)  ???

ขอบคุณมากๆ ครับ


หัวข้อ: Re: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: admin ที่ 20 ธันวาคม 2013, 05:15:43 pm
จริงๆถ้ามี Erro พี่อยากให้เคลียร์ Error ให้หมดก่อนนะครับผม
เพราะหยุดโดยไม่มีสคริป มันจะมีก็แค่โดน gotoAndStop(); ไปแทน gotoAndPlay();  น่ะครับ

นอกนั้นหากจะหยุดโดยไม่มีสคริออีกอย่างคือ ตัวงานมีเฟรมเกิน 16000 เฟรม แฟลชจะไม่เล่นเฟรมที่เกิน 16000 ให้ครับผม
ซึ่งพี่คิดว่าน้องน่าจะไม่เกินนะครับผม


หัวข้อ: Re: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: ครูอั๋น ใจดี ที่ 05 กุมภาพันธ์ 2014, 02:19:32 pm
ตั้งชื่อปุ่ม home5 - home10 ในช่อง instance name หรือยังครับ..


หัวข้อ: Re: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: iak1 ที่ 16 กุมภาพันธ์ 2014, 03:48:35 am
เป็นประโยชน์กับ นักศึกษาฝึกใหม่อย่างกระผม มากๆครับพี่แบ็ง ^^ 


หัวข้อ: Re: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: admin ที่ 17 กุมภาพันธ์ 2014, 05:52:34 pm
ยินดีจ้าา ^^


หัวข้อ: Re: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: demondeath ที่ 23 สิงหาคม 2014, 12:42:28 am
ขอบพระคุณมากๆ ครับ ผมกำลังงงกับเรื่องนี้อยู่พอดีเลยครับ ซึ้งๆ


หัวข้อ: Re: สอน Flash วิธีการทำปุ่ม ลิงค์ เฟรม,Scene
เริ่มหัวข้อโดย: ครูอั๋น ใจดี ที่ 02 กันยายน 2014, 11:17:19 am
สมมุติ ว่าผม ต้องการทำ ปุ่ม ให้ลิงค์ได้ 3 หน้า ในscene เดียวกัน
เช่น หน้า 1 เมื่อคลิกปุ่มให้ไป หน้า 2  เมื่อคลิกปุ่มให้ไป ไป หน้า 3


ผมใช้คำสั่งนี้ เมื่อคลิก ปุ่ม ในหน้า 1 มันจะไปที่ หน้า 2 และที่หน้า 3 เองเลย
on(release){
   gotoAndPlay(2)
}

คำถามคือ ผมจะทำอย่างไร เมื่อคลิกปุ่มที่หน้า 1 แล้ว ให้ไปหยุดที่ หน้า 2 และสามารถคลิกปุ่มที่ หน้า 2 ไปหน้า 3 ได้ครับ


เปลี่ยนเป็น gotoAndStop(2) ก็จะไปหน้า 2 และหยุดด้วยครับ