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


อบรม เรียน สอน PHP+MySQL
อบรม เรียน สอน PHP+MySQL พัฒนาเว็บไซด์

Comment



smilebig smileopen-mounthed smileconfused smilesad smileangry smiletonguequestionembarrassedsurprised smilewinkdouble winkcry

งง คับ แล้วเอาไปใช้ยังไงหรอคับ

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

ก้อใช้ฉากที่มันกว่ากว่าปกติอะครับ

แล้วให้กล้องเลื่อนตามตัวละคร

#2 By xnanoob on 2008-07-03 10:56