Camera 2D อีกรอบ
posted on 13 Jan 2008 16:49 by xnanoob in Tutorials
สวัสดีค่า
วันนี้มาหัดทำกล้อง Camera 2D กันนะค่ะ
concept นะประมาณนี้มั่งนะ
-
กำหนดตำแหน่งของกล้อง
-
ให้ตำแหน่งของกล้องถ่ายที่ตัวละคร
-
ย้ายตำแหน่งของกล้องเลื่อนตามตัวละคร (นึกถึงตอนเค้าถ่ายหนังก้อได้ กล้องต้องเลื่อนตาม)
-
กำหนดให้ของในฉากย้ายไปในตำแหน่งที่ถูกต้อง
ตอนที่คุณใช้ class นี้ก้ออย่าลืมเลื่อนวัตถุ ที่เป็นองค์ประกอบในฉากด้วยนะค่ะ

สังเกตระยะระหว่างตัวละครและบ่อน้ำ

เดินไปทางขวา ทำให้เหมือนว่าทิ้งระยะไป

จากรูปนี้แสดง โดยกำหนดตำแหน่งเสาไว้ที่ x,y = (1200,200) พิจารณาที่ x เป็น 1200 หมายความว่า ในตำแหน่ง 1200 นั้น ปกติจะอยู่เลยขอบเขตของการแสดงภาพ ถ้าเราไม่ทำการย้าย หรือเลื่อนกล้องตาม ก้อจะไม่มีทางเห็น
เพราะภาพที่เห็นทั้งหมดนั้น ปกติจะอยู่แค่ที่ 800,600 ตัวละครเมื่อเดินพ้นขอบเขต ก้อไม่เห็นภาพแล้วนะค่ะ (มั่ง)
|
public class Camera2D { Vector2 _position;Vector2 _positionOutputHolder; public Camera2D(){ _position = new Vector2();} public Camera2D(Vector2 p_position){ _position = p_position; } public void move(Vector2 p_moveVector){ _position += p_moveVector; } public Vector2 PositionObject(Vector2 p_spritePosition){ _positionOutputHolder = p_spritePosition - _position; return _positionOutputHolder;} } |
จบแระค่ะ บายค่ะ งุงิ
เอกสารอ้างอิง
http://www.ziggyware.com/readarticle.php?article_id=86
โดย jenne01









#1 By POPPY (202.28.25.35) on 2008-07-02 17:33