ห้องเช่า เช่าห้อง อพาร์ตเม้นต์

สวัสดีค่า

มามั่วต่อกับ FarseerPhysics การใช้ component ของเค้าก้อง่ายดีนะ
แต่ยังไม่ค่อยเข้าใจ method ต่างๆ และการเรียกใช้

จากตัวอย่างที่แล้ว บอลจะตกลงมาและก้อตกไปเลย

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

 box1AbsBody = BodyFactory.Instance.CreateRectangleBody(physicssim, 200, 100,100);

//set the bodies position and make it static so it won't move.

box1AbsBody.Position = new Vector2(0, 400);

box1AbsBody.IsStatic = true;

ข้างบนนี้จะเป็นการสร้าง Body (ตัวของกล่องใหญ่ซ้ายมือ)

  • box1AbsBody.IsStatic = true; // บรรทัดนี้เพื่อไม่ให้กล่องมีผลต่อแรงดึงดูด
  • กล่องมีขนาด 100x200
  • วางไว้ที่ 0,400
  • ยังไม่ค่อยเข้าใจเรื่องมวลเลยอะค่ะ
 //create the geometry for box 1 box1Geom = GeomFactory.Instance.CreateRectangleGeom(physicssim,box1AbsBody, 200, 100);

box1Geom.CollisionResponseEnabled = true;

กำหนดให้มันมีการเช็ค Collision


ดูๆ ไป concept ก้อจะคล้ายการตรวจสอบการชนแบบปกติโดยใช้ bounding box หรือแบบต่างๆ
คือ image ก้อ image vector ก้อ vector ส่วน bounding ก้อ bounding แยกกันไป

เพราะฉะนั้นการใช้ FaeseerPhysics ก้อคล้ายๆ กานอะค่ะ
 ballBody1 = BodyFactory.Instance.CreateCircleBody(physicssim,6,1); ballBody1.Position = new Vector2(0, 0);

//create the geometry for box 2

ballGeom = GeomFactory.Instance.CreateCircleGeom(physicssim, ballBody1,6,1);

ballGeom.CollisionResponseEnabled = true;

ต่อมาก้อมากำหนด collision ของลูกบอล

โดยในส่วนของ physic ก้อให้มีแรงดึงดูดในแกน X = 3 แกน Y = 200
แกน X นี้คล้ายๆ จะเป็นแรงลมเล็กๆ ให้มันได้ ไม่งั้นบอลจะไม่ขยับเขยื้อนถ้าไม่ได้อยู่กลางอากาศ

 

 
t=0;

 
t=1;
 
t=2;
 
t=3;

สมมติ t ในเวลาต่างๆ


เส้นทางการเคลื่อนที่ของบอล

คงต้องมั่วกันต่อไป
บางคนก้อบอกว่าเขียนเองก้อได้ มันก้อจริง แค่บอลเด้งๆ เคลื่อนที่เช็คการชน
แต่ถ้าใช้ physic มันก้อดูเนียนกว่า และง่ายขึ้น เช่นบอลที่ตกพอดีเหลี่ยม มุมที่ตกกระทบจะเป็นเท่าไหร่
หรือจังหวะอื่นๆ ก้อดูธรรมชาติกว่า (ซะงั้น อะมั่ง นะ หรือเปล่า ?)

จบแระค่ะ บายค่ะ
งุงิ งุงิ

Comment



smilebig smileopen-mounthed smileconfused smilesad smileangry smiletonguequestionembarrassedsurprised smilewinkdouble winkcry

ตกรอบที่ 3 4 5 .....

เนียนเลยคับ...เหมือนบอลมันเด้งได้จิงๆ

แต่ช่วงรอบแรกๆดูแล้วไม่ค่อยเป็นธรรมชาติเท่าไร..

ว่าแต่ขยันจังเลยนะฮั๊บ....confused smile

#1 By robocon on 2007-12-25 20:24

ไม่ได้เขียนเป็นรอบอะนะ

ปล่อยให้แรงมันทำเอง ใช้ physic เป็นตัวจัดการอะงิ

มั่วๆ ไป

#2 By xnanoob on 2007-12-25 20:29

งืมๆ งั่มๆ

#3 By NaT (58.97.35.130) on 2007-12-26 11:09