หน้า: [1] 2 3 4
 
ผู้เขียน หัวข้อ: สอนโหลด swf ทีจ้ะห์  (อ่าน 25268 ครั้ง)
0 สมาชิก และ 1 ขาจร กำลังดูหัวข้อนี้
อันนี้ขอถามหลักการคร่าวๆ กับคำสั่งสำคัญในการทำงานสักนิดครับ

สมมุติว่าผมจะทำหนังสือรุ่น (แบบออนไลน์)
ทีนี้เรื่องข้อมูลผมอยากแยกเป็น swf เป็นคนๆไปน่ะครับ

เราจะมีวิธีการจัดการเรียกไฟล์มาโชว์อย่างไร และ การ load แต่ละหน้าขึ้นมาควรทำในตัวไหน (ตัวหลัก หรือ swfแต่ละคน)


ขอบคุณครับ
บันทึกการเข้า

นักเขียนการ์ตูนรายปี
วิธีที่ผมใช้นะครับ
คนอื่นอาจทำได้ดีกว่าแต่ลองดูวิธีผมก่อนนะ
- สร้างตัวแม่ขึ้นมาตัวนึงนะครับ สมมติชื่อ main.swf
- ให้ตัวแม่นี่แหละโหลดตัวลูกเข้ามา (01.swf / 02.swf /03.swf / ... )

โดยการโหลดตัวลูกเข้ามาเนี่ย ให้เปิดตัวแม่
แล้วสร้าง Blank MC ขึ้นมาตัวนึง สมมติให้ชื่อว่า ref
แล้วก็ใส่คำสั่งว่า

_root.ref.loadMovie("01.swf")


หรืออะไรก็ว่าไปครับ ฮิ้ววว

ส่วนตัวลูกก็ออกแบบไปเลยตามสเบย
บันทึกการเข้า

ทำมาหากินด้วยการเปิดร้านสกรีนเสื้อยืด จ้ะ
ความรุ้ใหม่ครับ  กรี๊ดดดดด

ส่วนผมจะทำยากกว่าพี่แอนหน่อย สร้าง  Blank MC01, 02 และ03 เอาไว้ที่ เฟรม มี swf 3 ตัวก็สามเฟรม สั่ง stop มันซะทุกเฟรม จากนั้น เฟรมหนึ่งก็ ใช้ loadMovie("1.swf",Blank MC01");  เฟรมสอง ก็  loadMovie("2.swf",Blank MC02"); เฟรมสามก็  loadMovie("3.swf",Blank MC03");

แล้วก็ ใช้วิธี สร้างปุ่มในเลเยอร์ใหม่ คลิกปุ่มที่หนึ่งไปเฟรม1 คลิกปุ่มที่2ไปเฟรม2 ... 3ไป3 ......
บันทึกการเข้า

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

น่าจะเขียนโค้ดได้ง่ายกว่า

เดี่ยวผมลองเสร็จ จะมาตอบใหม่ละกันครับ

-----------------------------------------------------
ทำที่ตัวลูกดีกว่าครับ
ก็เขียนโค้ด loading เหมือนปกติเลย
คือประมาณนี้
โค้ด:
percent = (this.getBytesLoaded() / this.getBytesTotal())*100
this.loadBar._width = percent;
this.loadText = Math.round(percent)+"%";
if (percent == 100 ) {
  this.gotoAndStop(3);
}
อ้างอิงจาก http://www.thaiflashdev.com/board/index.php?showtopic=10420&hl=
แต่ให้ระวังปัญหานึงคือ

ถ้าเรามีการเรียกใช้ _root ที่ตัวลูก

มันจะไปหมายถึง _root ที่ตัวแม่ด้วย

แต่สามารถ ป้องกันปัญหานี้โดยการ
lock ไม่ให้ _root ของตัวลูกมาถึงแต่แม่
ด้วยการใส่
โค้ด:
_lockroot = true

ที่ timeline แรกของตัวลูก
แอบอ้างจากhttp://www.thaiflashdev.com/board/lofiversion/index.php/t11331.html

อันนี้ ผมอ่าน แล้วสรุปตามที่เข้าใจนะครับ
ถ้าอ่านของผมแล้วไม่เข้าใจ ก็ไปอ่านตามลิ้งที่ผมลิ้งมาก็ได้ครับ
« แก้ไขครั้งสุดท้าย: 23 มี.ค. 2007, 00:01 น. โดย poloh » บันทึกการเข้า

ก่อสร้างกับทำลาย เหมือนที่ลงมือ ต่างที่การกระทำ
- -
วิธีของเฮียแอนครับ ผมก็ใช้

ส่วน preload ผมทำแบบพี่ poloh ครับ..

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

โอ๊ะ กรี๊ดดดดด


การใส่ _lockroot = true นี่ทำให้เวลาเราสั่ง _root ที่ตัวลูกปั๊บ
มันจะหมายถึง root แค่ในตัวลูกใช่ไหมครับ ไม่ลามมาถึงตัวแม่
บันทึกการเข้า

ทำมาหากินด้วยการเปิดร้านสกรีนเสื้อยืด จ้ะ
_lockroot มีผลทั้ง movie นั้นครับ (ลามถึงตัวแม่ด้วย)
คือถ้าเปลี่ยน _root ไปอยู่ที่ movie clip ใดแล้ว

_root ทุกที่ จะไปเรียกหา mc นั้นเลยครับ
...

ระวังด้วยนะครับ - -"

ป.ล. ผมไม่ได้ใช้ _lockroot ครับ เพราะมันวุ่นวาย
« แก้ไขครั้งสุดท้าย: 23 มี.ค. 2007, 03:12 น. โดย korstudio » บันทึกการเข้า

แล้วถ้าจะอ้าง _root ของตัวลูก จากตัวลูกเฉยๆ นี่
ต้องเรียกลามตั้งกะ _root ใหญ่เลยหรือเปล่าครับ

เช่น _root.ref.blablabla (ในกรณีที่ mc ที่ตูเรียกลูกเด็กเล็กแดงมาแปะไว้ชื่อ ref)
บันทึกการเข้า

ทำมาหากินด้วยการเปิดร้านสกรีนเสื้อยืด จ้ะ
ถูกต้องเลยครับ ^^"
บันทึกการเข้า

เกย์ออก ขอบคุณครับ (+2)
บันทึกการเข้า

ทำมาหากินด้วยการเปิดร้านสกรีนเสื้อยืด จ้ะ
ผมก็ไม่เข้าใจเรื่อง _root แต่จะทำเป็นภาพให้  โดยการถามตาแอนนี่แหละ  กร๊าก

อันนี้คือเราจะเรียก mc1 กระทำอะไรซักอย่างโดยเรียกจาก timeline หลัก
บันทึกการเข้า

นักเขียนการ์ตูนรายปี

สั่งจาก mc ตัวอื่นๆก็ได้ครับ
บันทึกการเข้า

นักเขียนการ์ตูนรายปี
มันจะยิ้มทำไมที่มุมปาก เอือม
บันทึกการเข้า

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

เขียนอ้างตัวเอง ใน mc ตัวเอง



หากมีการอ้างใน Mc2 แต่ ยังไม่ถึงเวลาที่ mc2จะโผล่ในจอ ก็จะไม่เกิดการกระทำ
บันทึกการเข้า

นักเขียนการ์ตูนรายปี
 กร๊าก สุดยอดเลยคร้าบบ
เห็นภาพขึ้นเยอะเลย

- -* ผมก็ไม่รู้จะอธิบายยังไงเหมือนกัน แต่เจอของพี่เลย์แล้ว..
สุดยอดครับ  ฮิ้ววว
บันทึกการเข้า

หน้า: [1] 2 3 4
 
 
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!