Closed oldGreenIsMe closed 3 years ago
这个图片残缺好像是easyx这个函数自己的问题,旋转后不能自动改变图片大小
参考一下这个博客 ? 博主好像解决了这个旋转函数透明背景和旋转图片残缺问题
第三个问题我的初步想法是rand随机数后判断一下,如果超出窗口范围或者和墙重叠就再随机获取个数
如何判断是否和墙重叠的话 专门存个障碍物数组,存着这些障碍物坐标,生成的坦克坐标和这个数组遍历比较即可
这个图片残缺好像是easyx这个函数自己的问题,旋转后不能自动改变图片大小
参考一下这个博客 ? 博主好像解决了这个旋转函数透明背景和旋转图片残缺问题
第三个问题我的初步想法是rand随机数后判断一下,如果超出窗口范围或者和墙重叠就再随机获取个数 如何判断是否和墙重叠的话 专门存个障碍物数组,存着这些障碍物坐标,生成的坦克坐标和这个数组遍历比较即可
那请问以下旋转前设置的x,y参数均为图片左上角参数,旋转后仍是图片上的同一点吗?如果是,我是需要根据旋转角度计算遍历障碍物数组还是取近似值呢,哪个更好些
我看你的坦克图片白边有点大,所以如果以图片左上角作为坦克坐标,还是会和墙壁有个缝隙
我觉得尽量去掉这些白底效果会更好些
最后一个旋转和碰撞的问题: 你的坦克旋转好像是任意角度旋转?那这个碰撞判断就有点麻烦 可能就需要用到一些复杂的多边形碰撞检测算法了 当然如果对碰撞判定没那么"严格",允许稍微隔着一小段距离,你可以永远以坦克中心点作为坦克的坐标
我看你的坦克图片白边有点大,所以如果以图片左上角作为坦克坐标,还是会和墙壁有个缝隙
我觉得尽量去掉这些白底效果会更好些
最后一个旋转和碰撞的问题: 你的坦克旋转好像是任意角度旋转?那这个碰撞判断就有点麻烦 可能就需要用到一些复杂的多边形碰撞检测算法了 当然如果对碰撞判定没那么"严格",允许稍微隔着一小段距离,你可以永远以坦克中心点作为坦克的坐标
我是说比如我putimage(),里头的x,y参数是按照图片左上角吗
你自己试试效果呗
我看你的坦克图片白边有点大,所以如果以图片左上角作为坦克坐标,还是会和墙壁有个缝隙 我觉得尽量去掉这些白底效果会更好些 最后一个旋转和碰撞的问题: 你的坦克旋转好像是任意角度旋转?那这个碰撞判断就有点麻烦 可能就需要用到一些复杂的多边形碰撞检测算法了 当然如果对碰撞判定没那么"严格",允许稍微隔着一小段距离,你可以永远以坦克中心点作为坦克的坐标
我是说比如我putimage(),里头的x,y参数是按照图片左上角吗
对呀
xd你的loadimage是使用的绝对路径还是相对路径
`rotateimage(&img_greenTank2_1, &img_greenTank2, greenTankAngle PI 1.0 / 4, SRCINVERT);//遮罩图旋转
rotateimage(&img_greenTank1_1, &img_greenTank1, greenTankAngle PI 1.0 / 4, WHITE);//原图旋转
putimage(tank1_x, tank1_y, &img_greenTank2_1, NOTSRCERASE);//遮罩图
putimage(tank1_x, tank1_y, &img_greenTank1_1, SRCINVERT);//原图 ‘
如题,
同时问以下遮罩后图片仍与背景有色差,请问怎么处理
还有怎样避免坦克出现在视线外(使用rand函数)且避免坦克初始化在无法通行的墙上