美文网首页
SpriteKit打砖块-解决小球无限循环运动

SpriteKit打砖块-解决小球无限循环运动

作者: 慈书 | 来源:发表于2020-04-06 19:11 被阅读0次

SpriteKit打砖块-解决小球无限循环运动

问题描述:
当砖块为圆形,直角三角形时,小弹反弹会有多个可能的方向,例会出现下图的无限运行轨迹:

小球无限循环.png
无限水平运动的解决方案:
修复小球无限循环.png

当小球与墙碰撞时,判断小球当前向量dy是否小于10,如果小球的位置在于0在上方则向下给新的向量向下运动,反之向上运动,speed为小球的速度例300.

if abs(ball.physicsBody?.velocity.dy)<10{
    let oy:CGFloat=ball.position.y>0 ?-30:30
    let dx:CGFloat=sqrt(speed*speed-oy*oy)
    ball.physicsBody?.velocity=CGVector(dx:dx,dy:oy)
}

无限垂直运动的解决方案:
当小球与挡板碰撞时,判断小球当前向量dx是不是小于10,如果小球位置在右侧,则向左运行,反之向右运行。

if abs(ball.physicsBody?.velocity.dx)<10{
    let ox:CGFloat=ball.position.x>0 ?-20:20
    let dy:CGFloat=sqrt(speed*speed-ox*ox)
    ball.physicsBody?.velocity=CGVector(dx:dx,dy:oy)
}

相关文章

  • SpriteKit打砖块-解决小球无限循环运动

    SpriteKit打砖块-解决小球无限循环运动 问题描述:当砖块为圆形,直角三角形时,小弹反弹会有多个可能的方向,...

  • 射线拓展

    小球撞击砖块,小球和砖块都必须有碰撞体,当小球撞击到砖块之后,小球消失,在小球原本位置再生成一个小球,点击鼠标继续...

  • BBTAN:一款魔性打砖块游戏是如何让人上瘾的?

    第一次玩打砖块,是小时候用亲戚家电脑打的,很入迷。最经典的打砖块游戏,规则是控制板板的左右移动,让小球在砖块和墙壁...

  • Scratch 疯狂打砖块游戏

    A 分析阶段 01课程目标 打砖块游戏是我们小时候在游戏机上玩过的游戏,砖块在地图上方排列成各种造型,一个小球在屏...

  • 开发带体感操作的打砖块小游戏

    概述 实现旧式打砖块游戏,综合传感器的学习完成球拍的体感操作模式。 核心代码 1、Ball类:小球 //绘制圆 p...

  • 打砖块

    效果如下: html结构代码: css样式代码: js代码:

  • 弹球打砖块

    最好玩的物理打砖块游戏 超经典阶级打砖块全新玩法 无尽的弹珠、无尽的砖块、无尽的挑战 最好玩的弹球打砖块 操作流畅...

  • 飞行打砖块

    飞行打砖块是一款将打砖块和飞机结合起来的休闲游戏,在游戏中,玩家需要控制一架会不断发射子弹的飞机来将飞行路线上的障...

  • 打砖块游戏

  • 《打砖块》案例总结

    001-004 Unity的破解和安装 005 Unity的各个面板 Inspector 属性面板 Projec...

网友评论

      本文标题:SpriteKit打砖块-解决小球无限循环运动

      本文链接:https://www.haomeiwen.com/subject/paevphtx.html