Tags:

เนื่องจากผมมีโปรเจทที่ทำให้ต้องมาเขียน action script3
ผมจึงลง flash player debug version ทั้งเครื่องที่ทำงานและเครื่องส่วนตัว
ทำให้ผมได้รู้สาเหตุที่แท้จริงที่ flash crash บ่อยๆ นั้นก็คือ programmer ที่เขียนเองนั้นล่ะ ส่วนใหญ่ไม่เขียน error handler พอมี runtime error ขึ้นมามันก็ค้างน่ะสิ และพอ flash ไม่รู้จะทำอะไรเพราะไม่มี error handler มันก็ crash น่ะสิครับ

แบบว่าผมพึ่งจะใช้ debug version มา 5 เดือนแต่เจอพวกเขียน program แบบไม่มี error handler เกือบทุกเว็บที่มี flash แม้แต่ youtube

แบบว่า /me facepalm

Get latest news from Blognone
By: polawing on 20 December 2011 - 12:40 #366332

AS3 มีความยืดหยุ่นของภาษามากเพราะเป็น ภาพ + code programmer จะต้องมีความเข้าใจ เป็นอย่างดีเกี่ยวกับ สิ่งที่ตัวเองกำลังจะเขียน ส่วนใหญ่ที่ค้าง เพราะ programmer สักแต่ว่าเขียน ๆให้ได้ผลตามที่ตัวเองต้องการ แต่ไม่สน อัลกอลิทึ่ม ว่าสิ่งที่ตัวเองคิดนั้นถูกต้องแล้วหรือยังครับ

function ของ flash ส่วนใหญ่นั้นทำงานได้แม้เราเขียนถูกต้องเพียง 50%ของ code ที่ควรจะเป้นแต่จะทำให้ค้างหาก คุณไม่ clear ค่ามัน เช่น Tween เป็นต้น และวิธีการเขียนอย่างถูกต้องและไม่ทำให้ กิน CPU นั้นจะต้องใช้ประสบการณ์ความเอาใจใส่มาก เพราะ flash คุณสามารถสร้างมันได้ทุกอย่าง แม้คุณกำลัง เขียน way ที่ผิดอยู่ก็ตาม

By: soginal
AndroidIn Love
on 20 December 2011 - 13:01 #366343
soginal's picture

เรื่องคนเขียนโค๊ดห่วยนี่ยอมรับว่ามันมีจริงทุกที่ทุกภาษาครับ โดยเฉพาะการ optimize ต้องใช้ความรู้ความเข้าใจอย่างมาก แต่คนทั่วไปมักจะเอาแค่ให้มันรันได้เป็นพอ

บางครั้งมันก็ถูกจำกัดด้วยเวลาครับ เวลาที่เหลือน้อยทำให้โปรแกรมเมอร์หลายคนต้องตัดสินใจ ใช้วิธีทำให้งานจบเร็วมากกว่างานคุณภาพดีครับ

แต่เรื่องที่มี runtime error แล้วค้างนี่ผมว่าปัญหามันก็คงอยู่ที่ตัว adobe เองแล้วล่ะครับ
เพราะ framework ควรเป็นตัวดักจับ exception ที่หลุดรอดออกมาแล้วแจ้งเป็น message ให้ผู้ใช้งานรู้ครับ ไม่ใช่ค้างไปเลย

By: heart
ContributoriPhone
on 20 December 2011 - 15:24 #366388
heart's picture

flashplayer debugger เป็นศัตรูกับ firefox นะครับ
บางครั้งโค้ดไม่ได้ทำให้ค้างอะไร แต่การเตือน error เล็กน้อยก็ทำให้ firefox ค้างได้
ไม่แน่ใจว่าใช้ firefox ในการเช็คหรือเปล่า

แต่ว่าต้องยอมรับว่า เป็นที่ผู้เขียนซะส่วนใหญ่ครับ ที่ทำให้เจอปัญหาแปลกๆประมาณนี้

By: addib2010
iPhoneAndroid
on 20 December 2011 - 16:12 #366396

เกี่ยวกับเวอร์ชั่นของ Flash,AS ที่ใช้เขียนด้วยครับ เว็บ Flash เวอร์ชั่นเก่าๆที่เขียนมานานแล้วมีอยู่เยอะมาก บาง function มันไม่ compatible กับ flash player รุ่นใหม่ ถ้าไม่มีดักจับ error ไว้ก็คง crash ล่ะครับ

By: heart
ContributoriPhone
on 20 December 2011 - 16:18 #366400 Reply to:366396
heart's picture

ประเด็นนั้นคงไม่ถูกต้องนักครับ
คำสั่งเก่าๆ จะสามารถรันบนแฟลชเวอร์ชั่นใหม่ได้ทั้งหมดครับ

แต่คำสั่งใหม่ๆต่างหาก ที่จะไม่สามารถทำงานได้บนเวอร์ชั่นเก่า

ยกเว้นว่าคุณใช้สับสนกันระหว่างคำสั่งของ actionscript 1.0 , 2.0 และ 3.0 ซึ่งถ้าใช้ข้ามเวอร์ชั่นกัน มีผลแน่นอนครับ

By: addib2010
iPhoneAndroid
on 20 December 2011 - 16:28 #366405 Reply to:366400

ผมเจอบ่อยเลยล่ะ โค้ดตัวเดียวกันเอาไปคอมไพล์ผ่าน flash 8 กับ cs3 มันแสดงผลไม่เหมือนกัน ปัญหาเรื่องค่า z บ้าง ,Transparent บ้าง , root บ้าง ฯลฯ

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

By: heart
ContributoriPhone
on 20 December 2011 - 19:56 #366437 Reply to:366405
heart's picture

แกน z เพิ่งมามีตอน flash player 9.xx ครับ

ดังนั้นไม่แปลกที่นำไป compile ที่ flashplayer ต่ำกว่านั้น จะมีปัญหา

By: champjss
ContributorAndroidUbuntuWindows
on 22 December 2011 - 14:59 #367108 Reply to:366400
champjss's picture

ไม่เสมอไปครับ เช่น Security Sandbox ซึ่งเพิ่งจะมีในช่วงเวอร์ชัน 9 หรือ 10 คือโปรแกรมเดิมยังรันได้อยู่ แต่ไม่ผ่านเรื่อง Secuiry เพราะไม่ได้เอา crossdomain.xml ไปวางบนเซิฟเวอร์ที่จะคุยด้วย

By: sathdr
iPhoneAndroidSymbian
on 20 December 2011 - 21:05 #366455
sathdr's picture

ผมว่าคนทำ flash ส่วนใหญ่เป็น graphic design มากกว่าเป็น programmer ซึ่งมี logic ดีกว่า ดังนั้นพอไปเขียนโปรแกรมมันก็เลยสุกเอาเผากิน

เหมือนเอาเว็บมาสเตอร์มาเขียน PHP แหละครับ ส่วนใหญ่โค้ดจะเละเทะ

By: boykeng on 21 December 2011 - 09:59 #366571
boykeng's picture

หากสนใจเรื่องการเขียน Flash programming แวะมาที่ blog ผมได้นะครับ ยินดีพูดคุยแลกเปลี่ยน ^^ keng.orangeointeractive.com