27 มกราคม 2012

FLASH GAME การสร้างเกมภาพระบายสี Color Book

เนื้อหาในส่วนนี้จะเป็นวีดีโอสอนการเขียนเกมภาพระบายสีโดยใช้โปรแกรม 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;
}
เขียนเกมไม่ยากใช่ไหม

9 ความคิดเห็น:

  1. คือว่าลองทำแล้วมัน error ค่ะ แฮๆ
    TypeError: Error #1010: A term is undefined and has no properties.
    at _fla::MainTimeline/GameStart()
    at _fla::MainTimeline/frame1()
    ขึ้นมาแบบนี้อะค่ะ คือเพิ่งเคยทำขอคำแนะนำหน่อยนะค่ะ ขอบคุณค่ะ ^ ^

    ตอบลบ
  2. เกิดจากเราไม่ได้ตั้งชื่อตรง instant name บางตัว ไล่ดูดีๆครับ

    ตอบลบ
  3. แฮๆ จริงๆด้วย ขอบพระคุณมากนะค่ะ ทำได้แล้วคร้าาา

    ตอบลบ
  4. http://mobiforge.com/designing/story/understanding-user-interface-android-part-1-layouts

    ตอบลบ
  5. เฮียเกษมครับ คือผมจะรบกวนให้พี่ช่วยดูอะไรนิดหน่อยน่ะครับ
    คือผมลองทำตามที่เฮียสอนในคลิ๊ปแล้ว แต่ผมไม่ทราบว่าผมผิดตรงส่วนไหนหรือเปล่า
    ทำไมการแสดงผลมันถึงไม่ขึ้นตามที่ตั้งไว้น่ะครับ
    http://img814.imageshack.us/img814/4162/51406025.jpg

    ตอบลบ
    คำตอบ
    1. ไม่ระบุชื่อFeb 11, 2012 01:52 AM

      ไม่รู็ว่าผิดโครดตรงไหนเเต่มันทำไม่ได้อ่ะก็ทำตามทุกย่างเเล้วนะ

      ลบ
  6. ดู Error ที่ Flash ว่ามีข้อความอย่างไร ถึงจะตอบถูกว่าผิดที่ไหน
    ถ้าให้เดาตอนนี้ ก็บอกได้ว่า กำหนด instance name ของออปเจกต์ไม่ถูกหรือไม่ได้กำหนด

    ตอบลบ
  7. ไม่ระบุชื่อMar 2, 2012 06:53 AM

    ทำไมรันออกมาแล้ว ขอบเส้นของรูปที่วาดไม่ขึ้นอ่ะครับ แต่สีใช้ได้ครับ ^^

    ตอบลบ
  8. เมื่อเราวาดรูปเส้นกับสีภายใน เมื่อเรานำมาสร้าง symbol ใน วีดีโอ จะเลือกเฉพาะสีด้านใน เท่านั้นในการนำมาสร้างเป็น symbol แล้วเส้นส่วนหนึ่งจะถูกสีทับ ดังนั้น เราต้องกำหนด ขนาดของเส้นให้มากกว่า 1 point จากตัวอย่างในวีดีโอ กำหนดไว้ 3 point เพราะจะโดนสีภายในทับไปส่วนหนึ่ง

    วิธีแก้ เพิ่มขนาดของเส้นในการวาดภาพให้มากขึ้น

    ตอบลบ

"What you will become after reading this article ?"

Copyright(c) 2007 - 2012 by Kasem Kamolchaipisit.