Preload มันมีไว้ทำไม ....สมัยก่อน ตอนเน็ทยังไม่เร็ว.....(ยังกะเดี๋ยวนี้เร็ว

)
เวลาเปิดเว็บแฟลชทีนึง นานเป็นชาติ ไม่เคยรู้เลยว่ามันจะมาหรือไม่มา ต้องปิดมันไป เพราะขี้เกียจรอ
ไม่รู้ต้องรออีกนานแค่ไหน ....ไม่รออ่ะ ดูเว็บอื่นดีกว่า
เพราะเว็บนั้นๆมันไม่มี Preload บอก ว่า "โหลดอยู่นะ" "โหลดถึงเท่านี้แล้วนะ" "รอแป๊ะนุง เดี๋ยวก็เสร็จ"
เราทำงานนึง โหลดดู เออ เร็วดี คงไม่ต้องใส่ Preload ให้เมื่อยตุ้ม
แต่ว่า เน็ทแต่ละคนก็เร็วไม่เท่ากัน เราโหลดเร็ว คนอื่นอาจโหลดเป็นชาติ แล้วเขาก็ไม่รอในที่สุด
มันจะมีไว้บอกคนใจร้อน ว่าถึงไหนๆแล้ว รอหน่อยนะ อะไรประมาณนี้ จะได้รู้ว่าควรจะรอ หรือควรจะปิด
ส่วนมากงานแฟลชที่เราๆทำกันนั้นมันมักจะอวดโฉมอยู่บนเว็บซะส่วนใหญ่
การที่เราจะรู้ หรือบ่งบอกว่างานตัวเองนั้น โหลดมาถึงไหนๆ เราจะใช้
getBytesLoaded()
getBytesTotal()
ใช้ควบคู่กันไปเพื่อเปรียบเทียบ ว่า
โหลดมาแล้วเท่าไร ( getBytesLoaded() ) รวมเท่าไร ( getBytesTotal() ) ตัวอย่างเช่น
n=Math.round(_root.getBytesLoaded()/_root.getBytesTotal()*100);

มีอย่างอื่นมาเกี่ยวด้วยรึ ไอ้ Math.round() นี่มันอะไรฟะ แล้วทำไมต้องเอามาหารแล้วคูณให้ยุ่งยาก
getBytesLoaded() และ
getBytesTotal() จะดึงค่ามาเป็น
byte ในส่วนโค้ดตัวอย่างนั้น เราจะทำให้เป็น เปอเซ็นต์ 0-100% ก็เอาค่าน้อยกับค่าที่สุดมาหารกัน แล้วคูณร้อย เท่านั้น
แต่มันจะมีทศนิยมด้วย
เราจึงใช้
Math.round() มาปัดเศษทศนิยมซะ จะได้ดูสวยงาม

เมื่อใช้งานจริง เราจะต้องแสดงค่าแบบเรียลไทม์ และดึงทั้งไฟลงาน เราก็ใช้ _root.getBytesTotal() _root.getBytesLoaded()
เราก็เอามันมาใส่ใน onEnterFrame ซะ
ก็จะได้
stop()
_root.onEnterFrame = function() {
n = Math.round(_root.getBytesLoaded()/_root.getBytesTotal()*100);
txt = n+" %"
if(n>=100){
delete _root.onEnterFrame
nextFrame()
}
}
เราหยุดไว้ที่เฟรมแรกด้วย stop() เพื่อให้มันเช็ค load ก่อน
ว่าเราโหลดมาเท่าไรแล้ว และ ไฟลรวมเท่าไร
ในที่นี้ n ก็จะมีค่า 0-100 แสดงที่ txt เป็นเปอเซ็นต์
เราก็สั่งมันไว้ด้วยว่า
เฮ้ย ถ้า n มันมากกว่าหรือเท่ากับ 100 (เปอเซ็นต์)
ลบ _root.onEnterFrame ด้วยเพราะไม่ต้องใช้การตรวจจับแล้ว
และก็ให้ไปเฟรมถัดไปนะ และทำอะไรก็ว่าไป
ไม่งงนะจ๊ะ

=========================================
=========================================
ทดสอบ preLoadส่วนวิธีทดสอบว่างานเราโหลดเร็วไหม ใหญ่ไปไหม สมควรค่าแก่การขึ้นเว็บไหม (ใหญ่ไปไม่มีคนรอหรอกครับ หากไม่เจ๋งพอ)
ในแฟลชเพลเยอร์เองนั้นมีตัว Simulate Downloaded หรือการจำลองแบนต์วิธ เป็นเท่าไรก็ได้
เช่น
เราจะสมมุติว่า
ถ้าใช้เน็ท 56k โหลดงานเรา ในอัตราดาวโหลดอืดๆ 5-8 KB/s แล้วจะเป็นอย่างไร อะไรเทือกนั้น
เราจะทดสอบได้โดย ตรงนี้

และในส่วน
Customize... นั้นเองเราสามารถตั้งค่าต่างๆได้เองตามอำเภอใจครับ
การเทสงานปรกติเราจะกด Ctrl+Enter
ถ้าเราจะทำการทดสอบ Simulate Downloaded
เราก็แค่ กด Ctrl+Enter ซ้ำอีกครั้ง จะเป็นการ Simulate แล้วครับ
และถ้า
ไฟลเล็กๆ มันก็มองไม่ค่อยทันนักนะครับ ลองคิดตามหลักควา่มจริงด้วยครับ
ทีนี้ มาดูอันที่ผมจะแจกกัน 
Preload แบบง่ายๆ แจกเลยละกัน

จริงๆกะวางยาไว้นิดหน่อย

แล้วให้ไปแก้โค้ดกันเอง (เป็นการฝึกไปในตัว จะได้ไม่เอาแต่ดูดไม่รู้เรื่อง)

แต่ว่า

เอาเหอะ แจกก็แจก โค้ดง่ายๆ

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

เปิดไฟลงาน คลิกขวาที่เฟรมแรก แล้ว copy frame
แล้วไปวางที่เฟรมแรกของงานท่านได้เลย 
ง่ายเนอะ
แล้วจะแก้ไข สวยงาม แก้สี แก้นู่แก้นี่ ก็แก้ได้เลยครับ ผมจะกรุ๊ปไว้ ให้เคลื่อนย้ายง่ายๆครับ
และก็ไฟลที่แนบมานี้ read only ครับ เผื่อไว้
ลองทดสอบดูครับ
อย่าลืมว่า ไฟลงานต้องใหญ่นิดนึงนะครับ ถึงจะเห็นชัดเจน
ลองเอารูปใหญ่ๆ มาวางที่เฟรมสอง แล้วลอง กด Ctrl+Enter ซ้ำ ให้มัน Simulate ดูครับ