采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师您好,实在没有办法,只能找你了,你看,我在做小鸟碰撞检测 if (leopardBorder.top > iceBorder.bottom) { console.log(“撞到冰刺了”); this.isGameOver = true; return; } 小游戏一运行就满足条件,没有办法继续啊,小鸟的宽130,高50,铅笔的宽30,高100像素 其他所有代码和你的一模一样,是不是你的小鸟比我的小,逻辑才能通过
坐标系是左上角是原点,这个不是笛卡尔坐标系啊,也就是说,数字越小越往上,应该是大于小于号反了
老师,坐标系我知道,左上角为,0,0点坐标,可是,按照你的教程,小鸟的宽130,高50,一开始绘制在Y方向的中间,这个时候,绘制坐标就是259,而铅笔,宽30,高100,由于你的程序逻辑一开就要创建一对 //要在游戏逻辑开始之前 this.director.createIces();就是这个,这个默认Y值为0,因此,他的bottom就是Y+高100=100; 所以,你判断碰撞的逻辑一开始就慢足,游戏就没有办法继续
createIces() { //这个地方应该是控制top高度 let cs = this.datastore.canvas; let minTop = cs.height / 8; let maxTop = cs.height / 2; let top = minTop + Math.random() * (maxTop - minTop); this.datastore.map.get('ices').push(new IceUp(top)); this.datastore.map.get('ices').push(new IceDown(top)); } 如果一开始绘制不是Y=0,那还好说
登录后可查看更多问答,登录/注册
官方同步,第一时间掌握整套微信小游戏开发核心技术
968 13
1.2k 12
2.6k 11
1.3k 8
1.1k 8