网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
03月31日
漏签
0
天
c语言吧
关注:
799,003
贴子:
4,352,847
看贴
图片
吧主推荐
视频
游戏
15
回复贴,共
1
页
<<返回c语言吧
>0< 加载中...
windows程序设计思考题
只看楼主
收藏
回复
,,,‘
异能力者
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
小球在不断运动,要求在碰到色块时反弹,并且色块消失。没思路啊不知道怎么判断小球有没有碰到色块,求解答
,,,‘
异能力者
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
我的小球和色块都是用rect画的,小球碰到窗口边框会反弹,但不知道碰到色块该怎么写
,,,‘
异能力者
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
顶
让我看完好不好
异能力者
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
如果方块是固定的,且小球是逐像素绘制的,那么所有rect的坐标都是已知的,在消息循环里根据小球的x、y不就可以确定到每个方块了吗。
Mr伟wei
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
判断小球碰到边界很简单,将边界向内缩小一个小球半径的长度,然后判断小球球心坐标是否在缩小后的边界内。那方块也是同理,将方块的上下左右各拓宽一个小球半径,然后判断小球圆心是否在拓宽后的矩形内。当然这个解决方法不算完美,角落的碰撞体积比边要大,剩下的就交给你自己做了,如何算出色块严谨的碰撞体积,以及包裹在内部的色块无需判断,如何设计类或者结构体便于编程,如何判断小球反弹方向(入射角等于反射角)这些
内个小谁
强能力者
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
已知所有色块的坐标,可以每帧对所有色块和小球进行碰撞检测。优化:下层的色块未消失之前,上方的色块不会被碰撞,所有可以设置初始有两个容器,一个存储可以被碰撞的色块,一个存放无法被碰撞的,当可以被碰撞的色块被小球碰撞,将该色块周围无法被碰撞的色块,存放至可以被碰撞的色块的容器中
xxxxccxexx
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
坐标重叠检测呀
炒饭只放一勺盐
低能力者
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
需要一个逻辑帧/时间/速度/加速度引擎,小球碰到2d边界/小方块可能不是整数帧 至少近似计算一下,然后按照牛x定理反向带个加速度,至于弹性就近似一下吧
ZXP4
强能力者
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
每帧都可以把圆和所有色块各做一次碰撞检测(因为最多 200 个色块,计算开销很小),拿到近似的碰撞点(位于圆上),因为是圆,所以很快就能得到碰撞点的法向量,然后以该法向量为轴,把速度向量反射一下,就能得到新的速度向量。
窗口的边界就看作其四条边上各有 4 个很大的色块,可以用相同的逻辑处理。
坦然相告
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
二维数组,横纵坐标。
宇宙岛
异能力者
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
aabb算法
宇宙岛
异能力者
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
或者你直接集成physicX或者jolt物理引擎判断也行
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示