การอ้างอิง Class แบบ dynamic ด้วย getDefinitionByName() by

31
Aug
0

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

31
Aug
0

โดยปกติแล้วเวลาเรา Import project จาก Catalyst มาใช้จะมีไฟล์ที่กำหนดหน้าตาต่างๆของ componentต่างๆที่เราสร้างอยู่ในโฟลเดอร์ assets graphic ซึ่งไฟล์ดังกล่างเวลาเปิดใน Flex จะไม่สามารถเปิดแท็บ Design เหมือนไฟล์ mxml ได้ และยังไม่มี Autocomplete ใดๆ เรียกได้ว่าเห็นเป็น text file ธรรมดาเลยทีเดียว ซึ่งเราต้องแก้ไขไฟล์แบบใช้จินตนาการเลยทีเดียว วันนี้เลยจะมานำเสนอวิธีที่ทำให้สามารถแก้ไขไฟล์ได้โดยมองเห็นครับ

ไฟล์ fxg ในโปรเจ็ค

ไฟล์ fxg ในโปรเจ็ค

ตัวอย่างโค๊ดภายในไฟล์ fxg

ตัวอย่างโค๊ดภายในไฟล์ fxg

ในขั้นแรกอย่างที่เห็นว่าในไฟล์ fxg จะเป็นแท็กที่ค่อนข้างคุ้นเคย ซึ่งจริงๆมันก็คือแท็ก Spark ต่างๆนั่นเอง วิธีการนำไปแก้ไขจึงไม่ยากโดยการคัดลอกส่วนที่เราจะแก้ไข ซึ่งถ้าไม่รู้ว่าส่วนไหนก็ทำการคัดลอกมันทั้งหมดเลยก็ได้ แล้วในไปใส่ในไฟล์ mxml

fxg2

หลังจากนำมาใส่ mxml ก็จะได้้ดังนี้ แต่ยังรันไม่ได้หรือยังเข้าหน้า design ไม่ได้ครับ

จากนั้นเราก็ทำการใส่แท็ก Spark เพิ่มเข้าไปเช่น <Group> ใส่เป็น <s:Group> ครับ ซึ่งจะทำให้โค๊ดรันได้แล้ว เราก็ทำการรันหรือเข้าไปดูใน Tab Design ของ Flex ก็ได้ครับ

fxg3

เมื่อใส่ Tag Spark ก็ทำให้สามารถแสดงผลได้

หลังจากนั้นเมื่อแก้ไขเสร็จก็ทำการคัดลอก Attribute ต่างๆที่เราทำการแก้ไขกลับไปวางใน fxg ที่ก็อปปี้มาเปิด เท่านี้ก็เรียบร้อยแล้วครับ

เมื่อแก้ไขเสร็จ

เมื่อแก้ไขเสร็จ

วิธีใส่ SSL Certification (HTTPS) ใน Socket.io (Node.js) by

31
Aug
0

จากการเปิดเกมป๊อกเด้งมาหลายอาทิตย์พบปัญหาคือการติดตั้ง SSL สำหรับ NodeJS นั้นไม่ค่อยจะเหมือนกับภาษาชาวบ้านอื่นๆ ซักเท่าไหร่ครับ ไฟล์ config สำหรับรัน NodeJS นั้นจะไม่ได้เป็นลักษณะเหมือนอย่าง php.ini ซึ่งเป็นไฟล์แยกต่างหากโดยเฉพาะ แต่ NodeJS จะใช้การ config ผ่าน syntax javascript ทั้งหมดครับ (เรียก function เพื่อ setting ค่าต่างๆ ครับ) โดยผมทำเกมบน Facebook จึงต้องติดตั้ง SSL เพื่อให้ใช้งาน HTTPS ได้ ซึ่งองค์ประกอบสำหรับการติดตั้ง SSL 1 domain จะได้แก่

  1. private key file
  2. certificate file ที่ได้จากการซื้อ SSL กับเว็บไซต์ที่รับจดทะเบียน
  3. 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

31
Aug
0

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

31
Aug
0



เคยไหมครับ ที่ไม่อยากให้้ตัวหนังสือของคุณไม่ขึ้น Cursor แบบนี้เวลาที่อยู่บน Flash
วิธีการง่ายนิดเดียวครับ select ตัวหนังสือของคุณ แล้วจิ้มตรงช่อง Selectable ออกดังรูป(สี่เหลี่ยมสีแดง) เท่านี้ก็เสร็จแล้วครับ

ตัวอย่าง

ปล.อาจดูเหมือนง่าย แต่ผมคิดว่าหลายๆคนน่าจะไม่ทราบกัน ผมทำ Flash มา5-6ปี ก็พึ่งจะมาทราบไม่นานนี้แหละครับ

กู้เงิน | เศรษฐกิจพอเพียง | สินเชื่อบุคคล | สมัครบัตรกดเงินสด | สินเชื่อ | เงินกู้ด่วน | ยืมเงินทรูมูฟ | เงินด่วนนอกระบบ