ทำเกมส์บน flex

posted on 13 Jul 2007 12:41 by megaidea

ผมเคยมีความคิดอยู่แว๊ปนึงว่า ตอนทำ flex นั้น มันน่าจะนำมาทำเกมส์ได้นะ เพราะผมเป็นเกมส์ programmer มาก่อน และพอดีก็ไปเห็น web ตัวอย่างสำหรับทำเกมส์ก็เลยนำมาให้ดูกัน

และที่นั้นก็เป็น web สำหรับทำเกมส์และเล่นเกมส์ได้ด้วย โดยเราสามารถสร้าง map ได้ จากนั้นก็ save ลงที่ server พอจะเล่นก็จะโหลดจาก server มาเพื่อเล่นเกมส์ได้เลย

แนวเกมส์จะเป็น เดินไปหลบศัตรูและเก็บของ ทำนองนั้น

อาจจะเสียเวลาโหลดหน่อยหากบ้านใคร net ช้า แต่นี่ก็เป็นตัวอย่างให้เห็นแล้วว่าในอนาคต ของทุกอย่างจะเก็บไว้ใน server

ช่วงนี้วุ่น ๆ กับเพื่อนเปิดบริษัทอยู่ เลยไม่ได้เขียนอะไรเพิ่มเติม
ชื่อบริษัทก็คือ ultimate wisdom studio ก็ยังไม่เรียบร้อยและลงตัวเท่าใด ก็เลยอาจจะไม่ค่อยได้ up สักเท่าไหร่ ไว้จัดการเรื่องบริษัทเสร็จเมื่อไหร่ มา up เหมือนเดิม ชัว

ปล. หลัง ๆ ไม่ค่อยได้เขียนเกี่ยวกับเกมส์เลย จะพยายามนะฮับ
อ้อ อีกเรื่องหนึ่ง ผมสัญญาว่า ผมอ่าน blog ใครแล้ว ผมจะ comment ให้นะครับ

จริง ๆ ก็แค่ลองเขียน flex ดูแหละ พอดีใช้ภาษาไทยไม่ได้ เนื่องจากใช้ encoding ผิด คราวนี้เลยลองใหม่ ให้มันเป็น encoding แบบ tis-620 ก็เป็นอันจบ ใช้ได้เรียบร้อย

วิธีการทำ ก็โหลด flex 2 sdk มา จากนั้นก็แก้ bat ไฟล์ที่ใช้ build นิดหน่อย พร้อมเขียน code นิดหน่อย เพื่อทดสอบภาษาไทย

สำหรับการ test ครั้งนี้จะมี

  • button -> [copy] ใช้ copy text จาก textarea ข้างบนไปข้างล่าง
  • button -> [reset] ใช้ clear text ทั้งสองอัน
  • button -> [alert] ใช้ show message box

กรอก text ได้ทั้งไทยและเทศ

อ้อ ต้องใช้ flash 9 เท่านั้น ถึงจะเห็น

 

โดย code นั้นจะเขียนเป็น tag XML เพื่อระบุค่าต่าง ๆ แล้วก็เขียน script ไว้ในนั้นด้วย พูดอาจจะงง ดู code กันเลยดีกว่า

  1. <?xmlversion="1.0"encoding="tis-620"?>
  2. <mx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml">
  3. <mx:Script>
  4. <![CDATA[
  5. importmx.controls.Alert;
  6. publicfunctionchangeText():void{
  7. ta2.text=ta1.text;
  8. }
  9. publicfunctionresetText():void{
  10. ta2.text=ta1.text="";
  11. }
  12. publicfunctionalertShow():void{
  13. Alert.show("hello,world","message");
  14. }
  15. ]]>
  16. </mx:Script>
  17. <mx:Paneltitle="MyApplication:testingmxml"paddingTop="10"paddingBottom="10"paddingLeft="10"paddingRight="10">
  18. <mx:Labeltext="Helloworld"fontWeight="bold"fontSize="24"/>
  19. <mx:Labeltext="ทดสอบภาษาไทยอะไรที่คุณต้องการ"fontWeight="bold"fontSize="24"/>
  20. <mx:Labeltext="ยังไงเนี้ย"fontWeight="bold"fontSize="24"/>
  21. <mx:TextAreaid="ta1"width="300"height="300"/>
  22. <mx:TextAreaid="ta2"width="300"height="50"/>
  23. <mx:Buttonid="btn1"label="Copy"click="changeText()"width="100"/>
  24. <mx:Buttonid="btn2"label="Reset"click="resetText()"width="100"/>
  25. <mx:Buttonid="btn3"label="Alert"click="alertShow()"width="100"/>
  26. </mx:Panel>
  27. </mx:Application>

ส่วนใน bat ไฟล์ที่จะใช้ในการ build ก็จะมีรายละเอียดดังนี้


@echo off
SET OPTS=-use-network=true -accessible=true
..\..\bin\mxmlc.exe %OPTS% testapp.mxml

ก็ถ้า compile เสร็จก็จะได้ไฟล์ swf มาใช้งานได้เลย

จริง ๆ มันทำอะไรได้เยอะมากเลยนะ แต่ยังอยู่ในช่วงท้องอืด ทำไม่ไหว ปวดท้อง + ต้องดูสาระแน + กินหนม และก็ปรึกษาเรื่องหัวใจให้เพื่อน (เก่งจริง ตัวเองยังจะเอาไม่รอดเลย) เลยจบแค่นี้ก่อน

สรุป สนุกดี ชอบ ๆ เดี๋ยวว่าง ๆ จะเอาเล่าให้ฟังอีก คาดว่าเจ้า flex ตัวนี้อนาคตไกลแน่นอน

เรื่องนี้มันเกิดขึ้นมาจาก ท่านพี่เหน่ง กำลังทำ flex ไอ้เราก็อยากรู้เหมือนกันว่ามันจะเขียนยากหรือเปล่า ก็ต้องลองกับเค้าซะหน่อย

อยากลองเล่น จิ้มเลย

เห็นทีแรก กับ GUI อึ้งเลยครับ สวยมาก

เค้าเรียกการเขียนโปรแกรมแบบ RIA หรือ Rich Internet Application เรื่องราวนี้เดี๋ยวจะเล่าทีหลัง ซึ่ง ภาคต่อของการทำ flex ที่น่าสนใจก็คงหนีไม่พ้น Apollo, Apollo คือ Flash, Flex, HTML, Ajax นำมารวมแล้วเขียนเป็น application นั้นเอง คราวก่อนลองโหลดมาเล่นดู น่าตื่นเต้นมาก แล้วเดี๋ยวถ้าเริ่มเขียนเป็นยังไงแล้วจะมาเล่าให้ฟัง

วันนี้ลองลง C# express 2005 ก็ลองดูไปตามเรื่องตามราวตามภาษา developer นั้นแหละ ก็ลากไปลากมาก แล้วก็ build ก็ไม่มีไรน่าตกใจ ไม่ต่างไรกับ .net 2003 แต่พอกด run เท่านั้นแหละ เป็นเรื่องเลย ซึ่งมันก็จะโผล่รูปนี้ออกมา

จำได้ว่าคราวก่อนที่ลองก็ไม่ปัญหานี้นี่นา ลองไปหาคำตอบจาก google มา ได้คำตอบละ ปัญหาที่เป็นแบบนี้คือ มันจะ debug ผ่านเข้า hosting อะไรประมาณนั้น อย่าไปสนใจ ดูวิธีแก้เลย

ให้ไปที่ (Project -> [ProjectName] Properties... -> Debug -> Disable Enable the Visual Studio hosting process)
แค่นั้นแหละ จบ ทำงานได้เหมือนเดิมละ

ที่มา http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=65188&SiteID=1

ของแถม
จากที่ไปสัมนาที่ Software Park มา แนวโน้มการใช้ php จะสูงขึ้นในตลาดระดับ enterprises ซึ่ง solution ที่ได้ยินมาจะเป็น php + oracle 10g express + ubuntu server หรือไม่ก็ freeBSD แต่น่าจะเป็น ubuntu มากกว่า และก็อีก solution ที่น่าสนใจไม่แพ้กัน ต้องนี้เลย ruby on rails ในวงการ developer นั้นถือว่าดังมาก แต่การนำไปใช้งานระดับ enterprises นั้นยังมีให้เห็นน้อยอยู่ แต่

Comment



smilebig smileopen-mounthed smileconfused smilesad smileangry smiletonguequestionembarrassedsurprised smilewinkdouble winkcry