已回答  需要Windows窗体应用程序游戏的帮助

Rowlandsfc

活跃成员
已加入
2019年2月3日
留言内容
25
地点
布里真德
编程经验
Beginner
所以我创建了福彩12选5走势图基本的游戏,它的水平基本上是太空侵略者。我有福彩12选5走势图针对坏蛋的课程,也有福彩12选5走势图关于子弹的课程,但是有时候我在游戏中遇到福彩12选5走势图问题,子弹只是直接穿过敌人而不是直接击中敌人。这不会一直发生,所以我知道子弹类以及子弹与敌人之间的接触确实起作用,只是不理解为什么有时它会直接通过?


与敌人的子弹碰撞:
bullet.RemoveAll(bullets => bullets.isDisposed); // check for collicion between enemies and bullets
            foreach(JetBullet b in bullet)
            {
                b.MoveBullet(this.panel1);
                foreach(EnemyShips enemy in enemies)
                {
                    if (b.d.Bounds.IntersectsWith(enemy.e.Bounds))
                    {
                        b.isDisposed = true;
                        b.d.Dispose();
                        enemy.isDisposed = true;
                        enemy.e.Dispose();
                        enemyNumber--;
                        enemyTimer.Enabled = true;
                        score = score + 5;
                        enemiesKilled = enemiesKilled + 1;
                        lblKilled.Text = "Enemies Kileed: " + enemiesKilled;
                        lblScore.Text = "Score: " + score;
                        enemiesKilled = enemiesKilled + 1;
                    }
                }
            }

多数民众赞成在我有2个对象之间的冲突的代码
 

跳伞者

工作人员
已加入
2019年4月6日
留言内容
2,605
地点
弗吉尼亚州切萨皮克
编程经验
10+
要确定您是否发生碰撞,请测试玩家是否在特定位置,然后检查该位置还有什么。该位置不是玩家。良好的面向对象设计建议"松散的紧密耦合内聚力"。如果您的玩家与位置紧密相连,那么您刚刚发现了该格言存在的原因。
 
最佳 底部