เนื้อหาในส่วนนี้จะเป็นวีดีโอสอนการเขียนเกมภาพระบายสีโดยใช้โปรแกรม Adobe Flash และ Action Script 3 จัดทำในลักษณะของวีดีโอ จะได้เรียนรู้วีธีการสร้างและวิธีการเขียน ไม่เก่งการเขียนโปรแกรมก็เรียนรู้ได้ ไม่เคยเขียน Action Script ก็ทำตามได้ สรุป ใครๆ ก็สามารถทำได้ถ้าได้ดูและทำตาม
วีดีโอสอนการเขียนเกมภาพวาดระบายสี
ด้านล่างนี้คือโค้ดคำสั่ง Action Script 3.0 ที่ใช้ในโปรแกรมที่นำเสนอข้างต้น
var np:Number = 17;
var nc:Number = 10;
var color:Number = 0xffffff;
var cArray:Array = new Array(0xff0000,0x00ff00,0x0000ff,0xffff00,0x00ffff,
0xff00ff,0x66ff66,0x666666,0x000000,0xffffff);
var colorchange:ColorTransform = new ColorTransform();
GameStart();
function GameStart() {
btnNew.addEventListener(MouseEvent.CLICK, mcNew);
for (var ip:uint = 1; ip <= np; ip++) {
colorchange.color = 0xffffff;
//trace(this["p"+ip].name);
this["p"+ip].transform.colorTransform = colorchange;
this["p"+ip].addEventListener(MouseEvent.CLICK, mcPaint);
}
for (var ic:uint = 1; ic <= nc; ic++) {
this["c"+ic].addEventListener(MouseEvent.CLICK,mcColor);
colorchange.color = cArray[ic - 1];
this["c"+ic].transform.colorTransform = colorchange;
}
colorchange.color = color;
sc.transform.colorTransform = colorchange;
}
function mcNew(e:MouseEvent): void {
for (var ip:uint = 1; ip <= np; ip++) {
colorchange.color = 0xffffff;
this["p"+ip].transform.colorTransform = colorchange;
}
}
function mcColor(e:MouseEvent): void {
var objName:String = e.target.name;
color = cArray[uint(objName.substr(1,(objName.length)-1))-1];
colorchange.color = color;
sc.transform.colorTransform = colorchange;
}
function mcPaint(e:MouseEvent):void {
colorchange.color = color;
this[e.target.name].transform.colorTransform = colorchange;
}
เขียนเกมไม่ยากใช่ไหม
คือว่าลองทำแล้วมัน error ค่ะ แฮๆ
ตอบลบTypeError: Error #1010: A term is undefined and has no properties.
at _fla::MainTimeline/GameStart()
at _fla::MainTimeline/frame1()
ขึ้นมาแบบนี้อะค่ะ คือเพิ่งเคยทำขอคำแนะนำหน่อยนะค่ะ ขอบคุณค่ะ ^ ^
เกิดจากเราไม่ได้ตั้งชื่อตรง instant name บางตัว ไล่ดูดีๆครับ
ตอบลบแฮๆ จริงๆด้วย ขอบพระคุณมากนะค่ะ ทำได้แล้วคร้าาา
ตอบลบhttp://mobiforge.com/designing/story/understanding-user-interface-android-part-1-layouts
ตอบลบเฮียเกษมครับ คือผมจะรบกวนให้พี่ช่วยดูอะไรนิดหน่อยน่ะครับ
ตอบลบคือผมลองทำตามที่เฮียสอนในคลิ๊ปแล้ว แต่ผมไม่ทราบว่าผมผิดตรงส่วนไหนหรือเปล่า
ทำไมการแสดงผลมันถึงไม่ขึ้นตามที่ตั้งไว้น่ะครับ
http://img814.imageshack.us/img814/4162/51406025.jpg
ไม่รู็ว่าผิดโครดตรงไหนเเต่มันทำไม่ได้อ่ะก็ทำตามทุกย่างเเล้วนะ
ลบดู Error ที่ Flash ว่ามีข้อความอย่างไร ถึงจะตอบถูกว่าผิดที่ไหน
ตอบลบถ้าให้เดาตอนนี้ ก็บอกได้ว่า กำหนด instance name ของออปเจกต์ไม่ถูกหรือไม่ได้กำหนด
ทำไมรันออกมาแล้ว ขอบเส้นของรูปที่วาดไม่ขึ้นอ่ะครับ แต่สีใช้ได้ครับ ^^
ตอบลบเมื่อเราวาดรูปเส้นกับสีภายใน เมื่อเรานำมาสร้าง symbol ใน วีดีโอ จะเลือกเฉพาะสีด้านใน เท่านั้นในการนำมาสร้างเป็น symbol แล้วเส้นส่วนหนึ่งจะถูกสีทับ ดังนั้น เราต้องกำหนด ขนาดของเส้นให้มากกว่า 1 point จากตัวอย่างในวีดีโอ กำหนดไว้ 3 point เพราะจะโดนสีภายในทับไปส่วนหนึ่ง
ตอบลบวิธีแก้ เพิ่มขนาดของเส้นในการวาดภาพให้มากขึ้น