Sufficiency Economy
Group Blog
 
All blogs
 

Unity Game Engine for OUYA ตอนที่ 1

จากการดู clip E01-E02 สรุปได้ประมาณนี้
สร้าง cube เปลี่ยนขนาด และ ใส่ material เป็นสีเขียว ตั้งชื่อว่า Ground
สร้าง cube  ตั้งชื่อ Player และ add Componet ที่ชื่อว่า Rigidbody


ทดสอบการเขียน script ตามข้างล่าง
โดยสร้างตัวแปรก่อน เช่น public Rigidbody rb;
แล้วเราก็เชื่อมโยงตามเลข4
เมื่อเชีอมโยง ก็สามารถปรับค่าได้เช่นค่า useGravity  addForce เป็นต้น
ถ้าต้องการ debug ก็ใช้ Debug.Log("XXX")
ก็ศึกษาได้ประมาณนี้ สู้ต่อไป
11




 

Create Date : 25 ธันวาคม 2564    
Last Update : 25 ธันวาคม 2564 21:44:41 น.
Counter : 198 Pageviews.  

Unity Game Engine for OUYA ตอนที่ 0

จะขึ้นปีใหม่ 2565 ก็ต้องมีโครงการใหม่ๆ ที่ตั้งใจทำ ส่วนใหญ่ก็ล้มเหลวไม่ทำต่อ 2

จากรูปก็คือเครืองเกมส์ OUYA ที่มาจาก kickstarter ที่ดังมาก ราคาประมาณ 3000 บาท สุดท้ายก็โดน CEO จูลี่ โฆษณา ก็เลยหลวมตัวซื้อมา 1 เครื่อง ตามจริงแนวคิดดีมาก ไม่น่าลอยแพกันเลย และมี community เล็กที่ https://ouya.world/ เลยต้องการการทำเกมส์ ลงเครื่องนี้ ด้วยโปรแกรม UNITY (ตามจริงไปลงอุปกรณ์ android อื่นๆ ก็ได้ แหะๆ) เนื่องจาก spec เครื่องเป็น android Jelly bean 4.1 จึง limit version  UNITY ที่ 2019.2.21f1 และต้องใช้ package ของ https://github.com/Goest-Games/OuyaSDK
ส่วน Tutorial ก็ศึกษาจาก youtube ที่ https://www.youtube.com/watch?v=j48LtUkZRjU&list=PLPV2KyIb3jR53Jce9hP7G5xC4O9AgnOuL&index=1
สอนสั้นๆ แต่รวดเร็วดี จะค่อยๆศึกษาทีละ ตอน
เป้าหมาย ธันวาคม 65 จะทำเกมส์ สำเร็จหรือเปล่าหว่า แล้วจะมา สรุปการเรียนรู้เรื่อยๆ สัญญาๆ 11
 




 

Create Date : 19 ธันวาคม 2564    
Last Update : 19 ธันวาคม 2564 11:22:29 น.
Counter : 278 Pageviews.  

WP + XNA ทำภาพเคลื่อนไหว

การทำภาพเคลื่อนไหว
1) เริ่มจากต้องมี spritesheet ก่อน


2) สร้างตัวแปรมาเก็บ spritesheet
        Texture2D Tmale;
3) ระบุขนาด ของ spritesheet
        Point frameSize = new Point(32, 32); หมายถึง หนึ่งรูป กว้าง x ยาว = 32x32 pixels
        Point currentFrame = new Point(0, 0); หมายถึง จะแสดงรูปที่เท่าไรระบุเป็น แกน X, Y
        Point sheetSize = new Point(3, 3); หมายถึง ขนาดของ spritesheet ว่ากี่ column(X) และ กี่row(Y)
4) ทำการคำนวณภาพที่จะภาพแสดงผล(currentFrame) ใน method update
        ++currentFrame.X;
        if (currentFrame.X >= sheetSize.X)
                {
                    currentFrame.X = 0;
                }
5) แสดงภาพ ใน method draw
spriteBatch.Draw(Tmale, new Vector2(200, 100),
                new Rectangle(currentFrame.X*frameSize.X,currentFrame.Y*frameSize.Y,
frameSize.X,frameSize.Y),
                       Color.White, 0, new Vector2(0, 0),
                       2.0f, SpriteEffects.None, 0);
โดยถ้าสังเกตุจะเห็นได้ว่า การวาดรูป จะมี parameter เพิ่มจากเดิม เช่น rectangle เพื่อกำหนดตำแหน่งของรูปภาพใน spritesheet ได้
6) ตามจริงแค่นี้ก็แสดงผลภาพเคลื่อนไหวได้แล้ว แต่ภาพจะเคลื่อนไหวใน frame rate 60 frame per sec (fps) ถ้าเราต้องการแสดงหลายวัตถุ ที่เคลื่อนไหว ช้าเร็วต่างกัน จึงต้องมีการกำหนดตัวแปรเพิ่มเติม คือ
        int timeSinceLastFrame = 0;
        int msecPerFrame = 200; กำหนดเวลาความช้าเร็ว
และไปเขียน code เพิ่มใน method update เพื่อตรวจสอบ ก่อนการ คำนวณภาพแสดงผล
 timeSinceLastFrame += gameTime.ElapsedGameTime.Milliseconds;
 if (timeSinceLastFrame > msecPerFrame)
7) ที่จริงการปรับเวลาการแสดงภาพเคลื่อนไม่ต้องทำยุ่งยากก็ได้โดยการ เปลี่ยนค่าในตัวแปร
TargetElapsedTime = new TimeSpan(0, 0, 0, 0, 100); แต่ข้อเสียคือเวลาการเคลื่อนไหวทุกวัตถุจะเท่ากันหมด

sourcecode ครับ





 

Create Date : 19 พฤษภาคม 2556    
Last Update : 19 พฤษภาคม 2556 8:28:31 น.
Counter : 1941 Pageviews.  

MS Visual Studio Express 2012 for Windowphone

ตอนแรก กะว่าจะใช้ Monogame เขียนโปรแกรมบน Windowphone 8 แต่มีข้อจำกัดหลายอย่างเช่น
content pipeline, มุมมองแบบ landscape เป็นต้น เลยต้องกลับมาใช้แบบปกติ โดยใช้ของ Windowphone 7 + XNA หลักการก็คล้ายๆ กัน
ก่อนอื่นเรามาดูตัวแปรที่น่าสนใจ กันก่อน
1. รูปภาพ ใช้ ตัวแปรชนิด      Texture2D เก็บข้อมูล
2. การบอกตำแหน่งใน 2D ใช้ตัวแปร Vector2  เช่น new Vector2(10, 20) ก็คือ Vector ที่ชี้ไปยังตำแหน่ง x= 10, y=20 จุดเริ่มต้นคือ x=0, y= 0

sourcecode click เลย






 

Create Date : 12 พฤษภาคม 2556    
Last Update : 12 พฤษภาคม 2556 12:06:48 น.
Counter : 1103 Pageviews.  

MonoGame + Window Phone 8

เพิ่งได้ nokia lumia 720 มาใช้ OS Window Phone 8 เลยต้องลองของกันหน่อย 

และพบว่า XNA ตอนนี้ไม่ support window phone 8 และลงใน window8 ไม่ได้ เลยต้องมีวิธีกันนิดหน่อย ตามคำแนะนำ ใน Link ซึ่งบางอย่างไม่ต้องทำตามก็ได้ วิธีการก็คือ
1. ลง window phone sdk
2. ลง monogame
3. แล้วลอง run เลือก template project แบบ MonoGame Windows Phone 8 Project  Visual C#
4. จะพบสิ่งที่แปลกไปจาก XNA 4 คือไม่มี project content ติดมาด้วย(ทาง monogame กำลัง พัฒนาอยู่) ดังนั้นต้องทำตามคำแนะนำใน link แต่ Modify นิดหน่อย คือ ไปเปิด template project ชื่อ Windows Phone Game 4.0 แล้วทำการ add รูป หรือ content ต่างใน หัวข้อ content (ตามที่เคยทำใน xna 4 ตามรูป ในการ add pic1.jpg ไป

แล้วทำการ build solution จะได้ ไฟล์นามสกุล .xnb 
แล้วกลับสู่ project เดิม สร้าง Folder ชื่อ content แล้ว copyไฟล์นามสกุล .xnb ไปไว้
ยังไม่จบ หุๆ
ไปแก้ไฟล์ นามสกุล .csproj เพิ่มข้อความในบรรทัดล่างสุด แต่เหนือ
slash ItemGroup>
ข้อความข้างล่าง เครื่องหมายไม่ครบให้ดูตามใน link นะครับ แหะๆ
ข้อความ
 Include="Content***.*">     >PreserveNewest>>
แล้วเขียนโปรแกรม ตาม xna ให้แสดงรูป(ดู blog ก่อนหน้า) ก็จะได้ประมาณนี้
ู ^ ^
       

d




 

Create Date : 06 พฤษภาคม 2556    
Last Update : 6 พฤษภาคม 2556 11:51:50 น.
Counter : 1341 Pageviews.  

1  2  

wink99_th
Location :
พิษณุโลก Thailand

[Profile ทั้งหมด]

ให้ทิปเจ้าของ Blog [?]
ฝากข้อความหลังไมค์
Rss Feed
Smember
ผู้ติดตามบล็อก : 8 คน [?]




New Comments
Friends' blogs
[Add wink99_th's blog to your web]
Links
 

 Pantip.com | PantipMarket.com | Pantown.com | © 2004 BlogGang.com allrights reserved.