การอ้างอิง Class แบบ dynamic ด้วย getDefinitionByName() by arthit
Aug0
getDefinitionByName() เป็นการอ้างอิง Class แบบ dynamic เช่น ถ้าเรามี Class หรือมีการสร้างมูฟวี่คลิปไว้ในไลบราลี่
เราก็สามารถอ้างอิงนำมาใช้แบบ dynamic ในรูปแบบที่หลากหลาย เช่น
ในไลบราลี่ มี Mc1,Mc2,Mc3,Mc4,Mc5
เราจะทำการสร้างมูฟวี่คลิปขึ้นมาใหม่ โดยการ Random Class จากไลบราลี่
var _flower:MovieClip;
for (var i:uint=0; i<10; i++)
{
var num:uint = (Math.random()*5)+1;
var classRef:Class = Class(getDefinitionByName("Mc"+num));
_flower = new classRef();
_flower.name = "mc" + (i + 1);
addChild(_flower);
}
ทีนี้เราก็จะได้มูฟวี่คลิปที่แตกต่างกัน
ตัวอย่าง
https://dl-web.dropbox.com/get/Public/blog_levelup.swf?w=3ec274cc
การแก้ไขนำไฟล์ Fxg มาแก้ไขและทดสอบแสดงผล by Ziah
Aug0
โดยปกติแล้วเวลาเรา Import project จาก Catalyst มาใช้จะมีไฟล์ที่กำหนดหน้าตาต่างๆของ componentต่างๆที่เราสร้างอยู่ในโฟลเดอร์ assets graphic ซึ่งไฟล์ดังกล่างเวลาเปิดใน Flex จะไม่สามารถเปิดแท็บ Design เหมือนไฟล์ mxml ได้ และยังไม่มี Autocomplete ใดๆ เรียกได้ว่าเห็นเป็น text file ธรรมดาเลยทีเดียว ซึ่งเราต้องแก้ไขไฟล์แบบใช้จินตนาการเลยทีเดียว วันนี้เลยจะมานำเสนอวิธีที่ทำให้สามารถแก้ไขไฟล์ได้โดยมองเห็นครับ
ไฟล์ fxg ในโปรเจ็ค
ตัวอย่างโค๊ดภายในไฟล์ fxg
ในขั้นแรกอย่างที่เห็นว่าในไฟล์ fxg จะเป็นแท็กที่ค่อนข้างคุ้นเคย ซึ่งจริงๆมันก็คือแท็ก Spark ต่างๆนั่นเอง วิธีการนำไปแก้ไขจึงไม่ยากโดยการคัดลอกส่วนที่เราจะแก้ไข ซึ่งถ้าไม่รู้ว่าส่วนไหนก็ทำการคัดลอกมันทั้งหมดเลยก็ได้ แล้วในไปใส่ในไฟล์ mxml
หลังจากนำมาใส่ mxml ก็จะได้้ดังนี้ แต่ยังรันไม่ได้หรือยังเข้าหน้า design ไม่ได้ครับ
จากนั้นเราก็ทำการใส่แท็ก Spark เพิ่มเข้าไปเช่น <Group> ใส่เป็น <s:Group> ครับ ซึ่งจะทำให้โค๊ดรันได้แล้ว เราก็ทำการรันหรือเข้าไปดูใน Tab Design ของ Flex ก็ได้ครับ
เมื่อใส่ Tag Spark ก็ทำให้สามารถแสดงผลได้
หลังจากนั้นเมื่อแก้ไขเสร็จก็ทำการคัดลอก Attribute ต่างๆที่เราทำการแก้ไขกลับไปวางใน fxg ที่ก็อปปี้มาเปิด เท่านี้ก็เรียบร้อยแล้วครับ
เมื่อแก้ไขเสร็จ
วิธีใส่ SSL Certification (HTTPS) ใน Socket.io (Node.js) by heha
Aug0
จากการเปิดเกมป๊อกเด้งมาหลายอาทิตย์พบปัญหาคือการติดตั้ง SSL สำหรับ NodeJS นั้นไม่ค่อยจะเหมือนกับภาษาชาวบ้านอื่นๆ ซักเท่าไหร่ครับ ไฟล์ config สำหรับรัน NodeJS นั้นจะไม่ได้เป็นลักษณะเหมือนอย่าง php.ini ซึ่งเป็นไฟล์แยกต่างหากโดยเฉพาะ แต่ NodeJS จะใช้การ config ผ่าน syntax javascript ทั้งหมดครับ (เรียก function เพื่อ setting ค่าต่างๆ ครับ) โดยผมทำเกมบน Facebook จึงต้องติดตั้ง SSL เพื่อให้ใช้งาน HTTPS ได้ ซึ่งองค์ประกอบสำหรับการติดตั้ง SSL 1 domain จะได้แก่
- private key file
- certificate file ที่ได้จากการซื้อ SSL กับเว็บไซต์ที่รับจดทะเบียน
- intermediate file ตามแต่เจ้าของ SSL ที่เราเลือกใช้
แต่ตัวไฟล์ Intermediate ของ SSL นี่สิเจ้าปัญหา เพราะมักเป็น Chain ที่ต่อเนื่องไปยัง Root CA (มี CA หลายชั้นในการตรวจสอบใบอนุญาต SSL ของเรา) ตัวอย่างไฟล์ Intermediate ที่ผมใช้คือ PositiveSSL มีดังนี้ (จริงๆ จะยาวกว่านี้มากนะครับ นี่เป็นเพียงแค่ตัวอย่างลักษณะหน้าตาเฉยๆ )
-----BEGIN CERTIFICATE----- MIIFKTCCBBGgAwIBAgIRANJ0OUh7t/Gr2RV5gntPmEIwDQYJKoZIhvcNAQEFBQAw cTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ29tb2RvIENBIExpbWl0ZWQxFzAVBgNV ... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIFAzCCA+ugAwIBAgIQTM1KmltFEyGMz5AviytRcTANBgkqhkiG9w0BAQUFADCB lzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho ... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEhjCCA26gAwIBAgIQUkIGSk83/kNpSHqWZ/9dJzANBgkqhkiG9w0BAQUFADBv MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF
... -----END CERTIFICATE-----
จากที่ยกมาจะเห็นได้ว่ามี —–BEGIN CERTIFICATE—– และ —–END CERTIFICATE—– ทั้งหมด 3 ชุด นั่นคือมีโซ่ทั้งหมด 3 บล็อค (ของคุณอาจมีมากหรือน้อยกว่านี้ตามแต่เจ้า CA ที่คุณจดทะเบียนใช้งาน) ทีนี้สำหรับ Node.js เราต้องแยกไฟล์ intermediate ออกเป็น 3 ไฟล์ (ตามจำนวนบล็อคที่พบ) ไฟล์ละบล็อค แล้วใส่ลงไปใน code ดังนี้ (ใน code ทั้งสามไฟล์จะชื่อ intermediate.pem, intermediate2.pem, intermediate3.pem)
var privateKey = fs.readFileSync('/home/pokdeng/op2-ssl/private.key').toString();
var certificate = fs.readFileSync('/home/pokdeng/op2-ssl/cert.pem').toString();
var ca = fs.readFileSync('/home/pokdeng/op2-ssl/intermediate.pem').toString();
var ca2 = fs.readFileSync('/home/pokdeng/op2-ssl/intermediate2.pem').toString();
var ca3 = fs.readFileSync('/home/pokdeng/op2-ssl/intermediate3.pem').toString();
var ios = require('socket.io').listen(443, {key:privateKey, cert:certificate, ca:[ca,ca2,ca3]});
ใน code ตัวอย่างจะเป็น Socket.IO นะครับ หากเป็นการสร้าง server แบบอื่น (หรือใช้ Framework ใดๆ) parameter ก็จะแตกต่างกันไป แต่ส่วนที่เหมือนกันคือก้อน {key:privateKey, cert:certificate, ca:[ca,ca2,ca3]} ครับ เมื่อใส่แล้วก็ต้องทดสอบว่าเรา setup ได้ถูกต้องหรือยังด้วยการไปที่ http://www.digicert.com/help/ แล้วกรอก URL ที่เรียก Node.js ของเราลงไป (ของผมคือ http://op2.levelup.in.th/socket.io/socket.io.js) หาก setup ได้ถูกต้อง จะปรากฎโซ่คล้องกันต่อเนื่องกันไปพร้อม icon ติ๊กถูก แสดงข้อความว่า “SSL Certificate is correctly installed” ก็เป็นอันเสร็จพิธี!
ทำ Gif Animation อย่าง่าย!!! [Ps] by Amp3r3
Aug0
gif หรือgraphics interchange format
เป็นไฟล์ขนาดเล็กที่สามารถทำ อนิเมชั้น หรือ ภาพเคลื่อนไหวได้ และยัง สามารถทำโปร่งใสได้
เริ่มกันเลยละกัน
New Document(Ctrl+N ) ขนาดสัก 150 x 180 px ก็พอ
วาดอะไรก็ขึ้นมาสักอย่าง วาดขึ้นมา 2รูป ให้ทั้ง2รูป มีความแตกต่างกันเล็กน้อยนะ
1
2
เมื่อวาดเสร็จแล้ว ขั้นตอนต่อไปจะเป็นทำแอนิเมชั่น
เลือก Window>Animation
เมื่อคลิกที่คำสั่ง Animation แล้วจะเหมือนกับรูปด้านล่าง รูปที่ 1 ที่เราวาดจะอยู่ในเฟรมที่ 1
จากนั้นให้คลิก Duplicates selected frames เพื่อจะสร้างเฟรมที่ 2
พร้อมกับปิดตารูปที่ 1 และเปิดตารูปที่ 2
รูปที่ 2 ที่เราวาดจะปรากฎอยู่ในเฟรมที่ 2 ของ Animation
ต่อมาจะเป็นกำหนดความเร็วของ Animation
จะกำหนดไว้ที่ 2 วินาที (ไม่ช้า ไม่เร็วเกินไป)
ตั้งค่าไว้ที่ Forever เพื่อให้ Animation เคลื่อนไหวไปเรื่อยๆ
กด Play เพื่อให้ Animation ขยับ และตรวจดูว่า Animation ขยับช้าไปหรือเร็วไปมั้ย
เสร็จแล้ว ก็บันทึกไฟล์ File>Save for Web & Devices(Alt+Shift+Ctrl+S)
เลือกสกุลไฟล์ เป็น gif กด Save เป็นอันเสร็จพิธี
เราก็จะได้ไฟล์ gif หรือgraphics interchange format ออกมาประมาณนี้
วิธีการทำให้ตัวหนังสือใน Flash ไม่ขึ้น Cursor แบบ Text by akara
Aug0
เคยไหมครับ ที่ไม่อยากให้้ตัวหนังสือของคุณไม่ขึ้น Cursor แบบนี้เวลาที่อยู่บน Flash
วิธีการง่ายนิดเดียวครับ select ตัวหนังสือของคุณ แล้วจิ้มตรงช่อง Selectable ออกดังรูป(สี่เหลี่ยมสีแดง) เท่านี้ก็เสร็จแล้วครับ
ตัวอย่าง
ปล.อาจดูเหมือนง่าย แต่ผมคิดว่าหลายๆคนน่าจะไม่ทราบกัน ผมทำ Flash มา5-6ปี ก็พึ่งจะมาทราบไม่นานนี้แหละครับ