首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检测两个位图的命中

检测两个位图的命中
EN

Stack Overflow用户
提问于 2014-04-20 23:57:22
回答 1查看 115关注 0票数 0

嘿,我正在做一个游戏,你是一艘宇宙飞船,敌人正在向你坠落,到目前为止,我已经完成了宇宙飞船的射击,敌人从屏幕顶部坠落(我已经制作了,如果子弹击中敌人,你就会得到分数)

但是我有一个问题,我已经坚持了两天了,这个问题是当飞船和敌人相撞(他们互相相撞)时,它可以检测到,但当他们远离彼此时,它也可以工作。

命中检查的代码是

代码语言:javascript
复制
if(invaders.getx0()-(iwidth/2)>=this.x-(pwidth/2)&&invaders.getx0()+iwidth<=this.x+pwidth&&invaders.gety0()+iheight>this.y&&invaders.gety0()<=this.y) {
    invaders.setbitmap(1);
}

它检查敌方0是否攻击了宇宙飞船iwidth是敌方位图宽度iheight是敌方位图高度pwidth是宇宙飞船位图宽度ph8是宇宙飞船位图高度

这个x和这个y是宇宙飞船x和y invaders.getx0而invaders.gety0是敌人x和y

而invaders.setbitmap()是设置生活的请帮我谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-04-21 01:12:48

可以使用Rect检测交点。例如,您可以使用Rect描述屏幕上对象的位置和大小,如下所示:

代码语言:javascript
复制
Rect rect1 = new Rect(0, 0, 100, 10);
Rect rect2 = new Rect(20, 0, 10, 10);

当您想要检查它们是否相交时,只需调用intersect

代码语言:javascript
复制
if(rect1.intersect(rect2)) {
    // Rectangles intersect  
} else {
    // Rectangles don't intersect
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23184498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档