ในตอนที่ส่งนั้นได้มีการเพิ่มศัตรูเข้าไปแล้วแต่เวลายิงแล้วศัตรูยังคงอยู่ในจอแต่มองไม่เห็นและ ทำให้กระสุนหายไปทั้งๆ ที่ไม่มีอะไร แต่ในส่วยนี้ได้รับการแก้ไขแล้วดังนี้
จะอธิบายเฉพาะส่วนที่เพิ่มจากของเดิมนะครับ
CDXSprite *jet2; POINT pos2;
สร้างตัวแปร CDXSprite jet2 ขึ้นมาใช้รองรับศัตรู
if(mlist[i]->missile->SpriteHit(่ำjet2) ) { score += 100; SAFEDELETE( mlist[i]->missile ); SAFEDELETE( mlist[i] ); mlist.erase( i ); --i; continue; }
เพิ่มคำสั่งนี้เข้าไปใน void RemoveMis(void) โดยคำส่ังนี้จะเป็นการสั่งลบ
jet2 = new CDXSprite( ); jet2->Create( "me2.png", 1 ); pos2.x = 200; pos2.y = -20;
สั่งโหลด ภาพของศัตรูเข้ามา และกำหนดตำแหน่งให้อยู่ที่อยู่ x = 200 y = -20 เพื่อให้เกิดอยู่นอกจอ
SAFEDELETE( jet2 );
เพิ่มเข้าไปใน void cdx_DeInit( void )
jet2->SetPos( pos2.x, pos2.y ); jet2->Draw( Screen->GetBack(), 0, 0, CDXBLT_TRANS ); pos2.y += 5; if(pos2.y > 470) { pos2.y = -20; }
เพิ่มเข้าไปใน void cdx_DoFrame() โดยจะเป็นการสั่งวาดตัวศตรู พร้ิอมทั้งให้ศัตรูให้ศัตรูขยับลงไปเลื่อยๆ และถ้าพ้นจอก็ให้กลับไปอยู่ที่ตำแหน่ง y = -20
ไม่มีความคิดเห็น:
แสดงความคิดเห็น