หลุมพลาง Auto Scaling feature จาก corona

เคสนี้เรียกว่า “ขุดหลุมฝังตัวเอง” เกิดการแสดงขนาดภาพเพี้ยนในเกมส์ จากการพยายาม swap ภาพเองเมื่อ resolution ของ devices สูง

จากกำหนดการแสดงผลของ Application ไว้ที่ resolution ต่ำๆ เช่น 320×480 และทำการแสดงผลภาพบน retina display / ipad corona จะทำการปรับภาพเป็น dynamic scale โดยหากภาพที่ใช้การโหลดรูปแบบ newImageRect() จะได้รับการเปลี่ยนภาพให้โดยอัตโนมัติ เป็นชุด 2x แต่ภาพที่โหลดแบบ newImage() ต้องใส่ parameter เพื่อบังคับให้แสดงแบบไม่ dynamic scale เพิ่ม เมื่อทำการเปลี่ยนภาพเองผ่านโปรแกรม !!

ที่สำคัญ คือ simulator จะไม่แสดง error แต่เมื่อทดสอบใน devices จึงจะพบ…T T

การเคลื่อนไหวแบบสวิง

การสร้างการเคลื่อนไหวผ่านสคริป สำหรับการเคลื่อนไหวแบบแกว่งไปมา เป็นลูกตุ้มหรือคลื่น บางครั้งอาจจะดูเหมือนยาก แต่จริงๆ แล้วสามารถทำได้ง่ายๆ ด้วยฟังก์ชั่น math.cos() นั่นเอง

สมการ: math.cos(n)*force
– n คือ ค่าองศาที่เพิ่มขึ้นตามเวลา
– force คือ amplitude ที่เราต้องการ

ผลลัพธ์อย่างที่เห็นครับ 🙂
Simple Swing

Ten Principles for Good Design

I’m really like this presentation and the ideas of the “Good Design”, thinks that can apply to any kind of work even the web site.

1. Good design is innovative.
2. Good design makes a product useful.
3. Good design is aesthetic.
4. Good design makes a product understandable.
5. Good design is unobtrusive.
6. Good design is honest.
7. Good design is long-lasting.
8. Good design is thorough down to the last detail.
9. Good design is environmentally friendly.
10. Good design is as little design as possible.
Dieter Rams (1985).

Scale 9 Grid with Gradient work around!!

Today I’ve try to create a scale 9 shape with gradient fill in its shape and found that when create the scale 9 from IDE the gradient will not slice into scale 9 properly. So the result look like it is stretch. The work around that I found after googling for a while is use “Union” command to the out side border of the scale 9 by select menu “Modify/Objects/Union” and it work !! 🙂

การอ่านค่า flashvars จาก swf ที่ถูกโหลดเข้ามา

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

ที่ตัว Main นะครับ เวลาอ่านค่า flashvars จะใช้คำสั่ง

ในขณะที่ถ้าต้องการอ่านค่า flashvars จาก swf ที่ถูกโหลดเข้ามาจะต้องเปลี่ยนคำสั่งเป็น

การเรียกผ่านตัวแปร stage จะเป็นการเรียกไปยัง display container ของ swf ที่ถูกโหลดเข้ามานั่นเอง

และหากยังไม่ได้ ก็ยังมีอีกวิธี โดยการส่งค่าตัวแปรต่างๆ เข้าไปตอนโหลด swf อีกตัวนั่นเอง

var myRequest:URLRequest = new URLRequest(String(“/myPath.swf” + fVars));

ที่มา: http://ragona.com/blog/pass-flashvars-loaded-swf/

Today I want to add Hibernate feature to Vista?

And I can’t find it in the control panel / power management section. After google around then I found the solution.

To disable hibernation:
Click Start. Type “powercfg /hibernate off” and then Press Ctrl+Shift+Enter.
To enable hibernation:
Click Start. Type “powercfg /hibernate on” and then Press Ctrl+Shift+Enter.

A command prompt will appear and disappear. The program doesn’t give you any feedback anyway, so you’re not missing anything.
By press Ctrl+Shift+Enter is a shortcut to run a program as an Administrator.

Sparker

This is another fun animation from simple math. Mainly function that I use are:

  • linear equation : y = ax + b
  • Brownian
  • Circle : radius to point

For tweening between each mode was done by TweenLite and the sparking techniq
is base on flash drawing api and linear equation with some tune on the variable.

My Sparker

My Sparker

have fun 🙂

ฟันธงโหลดภาษาไทยใน XML ด้วย AS3 จาก ServerSide

หัวข้อนี้ไม่เขียนภาษาไทยคงจะแปลก เพราะเกี่ยวกับการดึงข้อมูลภาษาไทย จากไฟล์ XML หรือจากการส่งข้อมูลจาก Server แบบ XML Format เรื่องของเรื่องคือ พอดีได้มีโอกาสต้องทำงานดึงข้อมูลภาษาไทยมาแสดงบนหน้าเว็บ ซึ่งเนื้องานที่ทำอยู่ทุกที ไม่ค่อยได้ใช้ภาษาไทยเท่าไหร่ สรุปคือ เกิดปัญหาขึ้น แสดงได้บ้าง ไม่ได้บ้าง มี random character แปลกๆ ต่อท้ายข้อมูลที่โหลดมาบ้้าง ทำให้เกิด XML not well-formed ฟ้องขึ้นมา (ตัวอย่าง well formed xml) สุดท้ายไ้ด้ความช่วยเหลือจาก katopz และ joke และทำให้แก้ปัญหาไปได้ จึงอยากเอามาแบ่งปัน เผื่อว่าจะช่วยลดเวลาในการแก้ปัญหาของท่านอื่นๆ ได้ต่อไป ดังนี้

1. ฝั่ง flash โหลด XML ตามปกติ แต่ห้ามใช้ System.useCodePage = true; ถ้ามีให้ comment ทิ้งไป เนื่องจากเราจะใช้การ encode ข้อมูลแบบ UTF-8 ซึ่งจะกำหนดมากจาก xml ที่โหลดเข้ามา หากกำหนดให้ใช้ System.useCodePage จะเป็นการบังคับให้แฟลชใช้การ encode ข้อมูลตาม System default ของเครื่องผู้ใช้ ซึ่งเมื่อส่งข้อมูลมาแบบ UTF-8 แน่นอนว่าภาษาไทยมันจะแสดงไม่ได้อย่างแน่นอน และการเตรียมการฝั่ง Flash จะจบเพียงแค่นี้ (จริงๆ)

ส่วนวิธีการอ่านข้อมูล XML ลองอ่านกระทู้ของน้องก่อ ดูนะครับ เขียนไว้ละเอียดดีครับ
ทำงานกับฐานข้อมูลแบบ Online ด้วย Flash และ PHP
Flash+XML ตอนที่ 1

2. ถัดมาส่วนที่เป็นเทคนิคสำคัญในการที่จะทำให้ส่งข้อมูลภาษาไทยสำเร็จ คือ ฝั่ง XML นี่เอง ที่สำคัญอย่างยิ่ง ดังนี้

2.1 ข้อมูลที่ส่งมาทั้งหมด ต้อง encode เป็นแบบ UTF-8 (วิธีแปลงไฟล์เพื่อทดสอบง่ายๆ คือ ใช้ notepad เปิด xml ไฟล์ก่อน หลังจากนั้นเลือก Save As และเลือก Encoding เป็น UTF-8 ก็จะได้ไฟล์ไว้ทดสอบ – credit: katopz)

2.2 ข้อมูลภาษาไทยทั้งหมด ควรที่จะเก็บอยู่ภายใน tag value ของ xml ไม่ใช่ attribute และครอบข้อมูลภาษาไทยทั้งหมดด้วย <![CDATA[ภาษาไทย]]]> (credit: katopz และ joke) เช่น

<xml>
<title><![CDATA[กรุงเทพมหานคร]]></title>
<link>http://www.bangkok.com</link>
</xml>

2.3 ใส่ header ของ XML Data ที่ส่งกลับมาเป็น <?xml version=”1.0″ encoding=”utf-8″ ?>

2.4 หากยังไม่ได้ ให้ตรวจสอบอีกครั้งว่าข้อมูลที่ส่งมา encode เป็น UTF-8

2.5 หากยังไม่ได้ ให้ตรวจสอบอีกครั้งว่าข้อมูลที่ส่งมา encode เป็น UTF-8 และไม่ได้ encode ซ้ำซ้อนเพราะจะทำให้ข้อมูลผิดพลาดได้

2.6 หากยังไม่ได้ ทดสอบด้วยไฟล์ที่ได้มากจาก notepad และ encode ด้วย UTF-8

ถ้าทำตามข้างบนทั้งหมด ผมมั่นใจว่าน่าจะได้อย่างแน่นอนครับ และขอบคุณ katopz และ joke อีกครั้งสำหรับเทคนิคดีๆ ครับ

Install Syntax Highlight in WordPress

After googling around I found wp-syntax which I think it’s quite power full and support many programming language (surely Actionscript3). Woooooo, see what it look like.

The Day The Earth Stood Still

I’ve watched this movie “The Day The Earth Stood Still” on last Sunday, the movie is ok for me, nothing really surprise but one scene in the movie make me wanna do some experimental in the flash. If you don’t want to be spoiled please skip the next bit that I’m gonna write next. And if you read here that mean you don’t care the spoiled, well the scene that the alien flies try to get in the mirror. The animation is quite cool and I think that is some kind of old trick animation by “Brownian” equation so I’ve done some experimental below:

Simple Brownian Movement:

Simple Brownian

Adapted version, try to make its come out closer to the film:

Brownian 2
(Click anywhere on the stage to restart the animation)