การส่งค่าจากแฟลชให้แสดงที่ console ในเว็บเบราเซอร์ต่างๆ by Ziah
Sep0
โดยปกติแล้วเราชาว Flash โปรแกรมเมอร์เวลาต้องการจะเช็คค่าที่ตำแหน่งต่างๆของโค้ดของเรา เราก็มักจะใช้ trace(“//string”); เพื่อเช็คค่าต่างๆขณะที่รันเทสแอปพลิเคชั่นของเรา แต่ในบางทีแล้วเราต้องการที่จะดักค่าที่เราต้องการทดสอบกับข้อมูลจริง ซึ่งต้องเป็นตัวที่ publish ไปรันบนแอปพลิเคชั่นจริงๆแล้วเราจึงไม่สามารถดู trace ที่เราเขียนขึ้นมาได้ เราจึงต้องมีการใช้วิธีต่างกันไป โดยวิธีที่จะนำมาเสนอในวันนี้จะเป็นดังนี้ครับ
เราจะทำการเรียกฟังก์ชั่น console.log ของ javascript ซึ่งจะแสดงค่าที่เราใส่ไว้ใน console ของ Developer Tools ที่มีใน Web Browser ในสมัยนี้ ซึ่งต่างๆกันไป
วิธีการเรียก console.log ก็จะมีหน้าตาดังนี้
ExternalInterface.call("console.log",[{
'test':"call me maybe"
}]);
จากการใช้ ฟังก์ชั่น ExternalInterface.call ซึ่งรับค่าสองตัว คือ ชื่อฟังก์ชั่น JS ที่จะเรียกและ ค่า Argument ที่จะส่งไปในฟังก์ชั่นนั้น ทำให้เราสามารถเรียกฟังก์ชั่น console.log ได้โดยใส่ค่าที่ต้องแสดงหรือตัวแปรที่ต้องการทราบค่า (นอกจากนั้นเรายังสามารถใส่ Object ทั้งก้อนเพื่อดูค่าด้านในได้เลยซึ่ง trace ทำไม่ได้)
ซึ่งจะทำให้เราเห็นค่าดังนี้
การแก้ไขนำไฟล์ Fxg มาแก้ไขและทดสอบแสดงผล by Ziah
Aug0
โดยปกติแล้วเวลาเรา Import project จาก Catalyst มาใช้จะมีไฟล์ที่กำหนดหน้าตาต่างๆของ componentต่างๆที่เราสร้างอยู่ในโฟลเดอร์ assets graphic ซึ่งไฟล์ดังกล่างเวลาเปิดใน Flex จะไม่สามารถเปิดแท็บ Design เหมือนไฟล์ mxml ได้ และยังไม่มี Autocomplete ใดๆ เรียกได้ว่าเห็นเป็น text file ธรรมดาเลยทีเดียว ซึ่งเราต้องแก้ไขไฟล์แบบใช้จินตนาการเลยทีเดียว วันนี้เลยจะมานำเสนอวิธีที่ทำให้สามารถแก้ไขไฟล์ได้โดยมองเห็นครับ
ในขั้นแรกอย่างที่เห็นว่าในไฟล์ fxg จะเป็นแท็กที่ค่อนข้างคุ้นเคย ซึ่งจริงๆมันก็คือแท็ก Spark ต่างๆนั่นเอง วิธีการนำไปแก้ไขจึงไม่ยากโดยการคัดลอกส่วนที่เราจะแก้ไข ซึ่งถ้าไม่รู้ว่าส่วนไหนก็ทำการคัดลอกมันทั้งหมดเลยก็ได้ แล้วในไปใส่ในไฟล์ mxml
จากนั้นเราก็ทำการใส่แท็ก Spark เพิ่มเข้าไปเช่น <Group> ใส่เป็น <s:Group> ครับ ซึ่งจะทำให้โค๊ดรันได้แล้ว เราก็ทำการรันหรือเข้าไปดูใน Tab Design ของ Flex ก็ได้ครับ
หลังจากนั้นเมื่อแก้ไขเสร็จก็ทำการคัดลอก Attribute ต่างๆที่เราทำการแก้ไขกลับไปวางใน fxg ที่ก็อปปี้มาเปิด เท่านี้ก็เรียบร้อยแล้วครับ