350 likes | 525 Views
Addition Slide: Xbox360 Game. Suphot Sawattiwong tohpus@hotmail.com. XBox360 Controller. ใน Slide เรื่อง XNA Input Controller ได้กล่าวถึง XBOX360 Controller ว่าใช้ทั้งบน Windows และ บน XBOX360 ใช้ได้สูงสุด 4 คน. ปุ่มใน Xbox360 Controller. Left ThumbStick. Right ThumbStick.
E N D
Addition Slide: Xbox360 Game SuphotSawattiwong tohpus@hotmail.com
XBox360 Controller • ใน Slide เรื่อง XNA Input Controller ได้กล่าวถึง XBOX360 Controller ว่าใช้ทั้งบน Windows และ บน XBOX360 • ใช้ได้สูงสุด 4 คน
ปุ่มใน Xbox360 Controller Left ThumbStick Right ThumbStick DPad
ปุ่มใน Xbox360 Controller Y Start Left Stick Back X B A Right Stick
ปุ่มใน Xbox360 Controller Left Trigger Right Trigger Left Shoulder Right Shoulder
GamePad.GetState • จากที่กล่าวใน Input Controller Slide เห็นได้ว่าการรับค่าผ่านทาง Input ของ Keyboard และ Mouse มีการทำการ GetState เพื่อนำ State ของอุปกรณ์เหล่านั้นมาเพื่อใช้งาน • ใน GamePadทำได้ดังนี้ GamePadStateplayerOneState= GamePad.GetState(PlayerIndex.One);
IsConnected • เป็นคำสั่ง ที่ใช้เพื่อให้รู้ว่า XBOX360 Controller อันที่ต้องการได้ทำการเชื่อมต่อกับเครื่องอยู่หรือไม่ GamePad.GetState(PlayerIndex.One).IsConnected
Buttons • ใน XBOX360 Controller มีปุ่มที่ใช้งานผ่าน Buttons ดังต่อไปนี้
DPad นอกจากนี้แล้ว Dpadหากกดทิศทางเป็นแนวทแยง เช่น ทิศทางซ้ายบน ButtonState ที่เป็น Pressed เป็นทั้ง ปุ่มบน และ ซ้าย
ButtonState • EnumButtonStateจะเก็บ Event อยู่ 2 แบบ คือ Pressed และ Released โดยอุปกรณ์ควบคุมที่ใช้ ได้แก่ Mouse และ GamePad
การตรวจสอบสถานะการกดปุ่มการตรวจสอบสถานะการกดปุ่ม • การใช้ XBOX360Controller เหมือนการกดปุ่มของ Mouse ซึ่งทำการตรวจสอบกับ ButtonState • นอกจากนี้ยังมีคำสั่งที่ใช้ตรวจสอบได้เช่นกัน เพื่อตรวจสอบว่าปุ่มเหล่านี้ได้ทำการกดปุ่มแล้วหรือไม่ ดังต่อไปนี้ • ดูได้จากตัวอย่างชื่อ Ex_Extra_XBox360Controller (GamePad.GetState(PlayerIndex.One).Buttons.Y== ButtonState.Pressed) GamePad.GetState(PlayerIndex.One).IsButtonDown(Buttons.A) GamePad.GetState(PlayerIndex.One).IsButtonUp (Buttons.A)
Triggers • เป็นปุ่มที่มีลักษณะของค่าหนักเบาในการกด ซึ่งแตกต่างจาก ปุ่มโดยปกติ ที่มีค่าแค่ Pressed กับ Released เท่านั้น • โดยจะมีค่าตั้งแต่ 0.0 ถึง 1.0 • ใน XBOX360 Controller มี Triggers.Leftและ Triggers.Right • ดูได้จากตัวอย่างชื่อ Ex_Extra_XBox360Controller
ThumbSticks • ThumbSticks ใน XBOX360 Controller มีทั้ง Left และ Right • โดยใน ThumbSticksแต่ละอัน เก็บ ค่า X และ Y ไว้ โดย มีค่า -1.0 ถึง 1.0 • ดูได้จากตัวอย่างชื่อ Ex_Extra_XBox360Controller 0,+1 0,0 -1,0 +1,0 0,-1
การทำระบบสั่นสำหรับ XBOX360 Controller • การสั่นทำได้โดยการใช้คำสั่ง SetVibrationตาม Parameter ด้านล่างนี้มาใช้ • โดย playerIndexเป็น Index ของผู้เล่น Controller นั้นๆ leftMotor เป็นค่าความเร็วของมอเตอร์ด้านซ้าย ซึ่งเป็นมอเตอร์ ความถี่ต่ำ มีค่าตั้งแต่ 0.0 -1.0 rightMotorเป็นค่าความเร็วของมอเตอร์ด้านขวา ซึ่งเป็นมอเตอร์ ความถี่สูง มีค่าตั้งแต่ 0.0 -1.0 Return เป็นการส่งค่ากลับหากทำการสั่นสำเร็จ จะเป็นจริง • ดูได้จากตัวอย่างชื่อ Ex_Extra_XBox360Controller • public static boolSetVibration ( PlayerIndexplayerIndex, floatleftMotor, floatrightMotor )
Hardware สำหรับใช้ทดสอบเกมXBOX360 • เครื่อง XBOX360 ที่มี HDD • XBox360 Controller ควรมี 2 อันขึ้นไป • Xbox360 Memory Card • Internet • LAN Network • จอ TV แบบต่างๆ ทั้ง FullHD, HD Compatible, SD(4:3)
ปัญหาที่มักเจอบ่อยและไม่ผ่านการ Review • เกมต้องไม่มีContent ที่ซ่อนไว้ตามกฏของ Microsoft • เกมต้องไม่เกิดการอาการค้างไม่ว่าที่ไหนก็ตาม • เกมต้องไม่มีสถานการณ์ให้เกิดการค้าง หรือเล่นไปต่อไม่ได้ในเกม • เกมต้องไม่ยึดติดกับ Controller Index ผู้เล่นสามารถ Sign In จาก Controller ที่2 เพื่อเข้าเล่นเกม โดยที่ไม่มีผลกับตัวเกม • Font ในเกมต้องไม่เล็กไปกว่า 14point ให้พึงระวัง เนื่องจาก TV(SD) ไม่สามารถรองรับ Font ที่มีขนาดเล็กได้
ปัญหาที่มักเจอบ่อยและไม่ผ่านการ Review(ต่อ) • ควรหลีกเลี่ยงการวาง UI หรือ Game Content อยู่เลยจุด Title Safe Area เพราะแต่ละ TV ไม่เท่ากัน • ส่วนของภาพที่ใช้ในการโฆษณา ควรจะเหมาะสมกับทุกเพศ ทุกวัย (screenshots, box art, เป็นต้น) • Trial Mode ไม่ได้มีไว้สำหรับฟรีเกม หรือ การโชว์เกม • พวกที่ไม่ใช่เกม เป็นตัววาล์ปเปอร์ ไว้เล่น Videos จะไม่สามารถเข้าไปในขาย Xbox LIVE Indie Games (XBLIG) • อ้างอิงจาก http://creators.xna.com/en-US/help/peerreview_evilchecklist
ขั้นตอนการลงเกมบน Xbox360 • Click ขวาที่ Project เลือก Create Copy of Project for Xbox 360 ดังภาพ
ขั้นตอนการลงเกมบน Xbox360(ต่อ) • เลือก icon • จากนั้นให้ทำการกด Add Device • ให้ทำการเลือกเครื่อง Xbox360
ขั้นตอนการลงเกมบน Xbox360(ต่อ) • ให้ทำการตั้งชื่อ Xbox360 กด Next
ขั้นตอนการลงเกมบน Xbox360(ต่อ) • ให้เปิดเครื่อง Xbox360
ขั้นตอนการลงเกมบน Xbox360(ต่อ) • เลือก Game Library
ขั้นตอนการลงเกมบน Xbox360(ต่อ) • เลือก Indie Game
ขั้นตอนการลงเกมบน Xbox360(ต่อ) • กด Launch
ขั้นตอนการลงเกมบน Xbox360(ต่อ) • เลือก XNA Game Studio Connect
ขั้นตอนการลงเกมบน Xbox360(ต่อ) • เลือก Connect to Another Computer กด X
ขั้นตอนการลงเกมบน Xbox360(ต่อ) • ให้ทำการจดรหัสด้านล่างนี้ไว้
ขั้นตอนการลงเกมบน Xbox360(ต่อ) • ให้นำรหัสที่ได้มาใส่ที่เครื่อง PC
ขั้นตอนการลงเกมบน Xbox360(ต่อ) • มีข้อความขึ้นดังนี้ให้ทำการกด Allow Access
ขั้นตอนการลงเกมบน Xbox360(ต่อ) • กด Finish
ขั้นตอนการลงเกมบน Xbox360(ต่อ) • กดปิด
ขั้นตอนการลงเกมบน Xbox360(ต่อ) • หน้าจอ TV จะขึ้นแบบนี้
ขั้นตอนการลงเกมบน Xbox360(ต่อ) • ให้ Click ขวา ที่ Xbox360 Project แล้วทำการ Deploy
ขั้นตอนการลงเกมบน Xbox360(ต่อ) • ให้กด Launch ชื่อ Project ใน Indie Games ดังภาพ