| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> Unity二维平面上物体的移动(八) -> 正文阅读 |
|
[游戏开发]Unity二维平面上物体的移动(八) |
在前几节我们介绍了通过键盘的上下左右键移动二维平面的物体。另外一种方法是拖动物体,给物体一个外力来使物体以一定的速度出发。通常人们会以经典的愤怒的小鸟为例来实践这一情景。这次我们也实践一次。 先对小鸟做一些设置,设置小鸟的Circle Collider2D。另外设置一下小鸟的物理特性,使用Physics Material 2D,设置Bounciness,表示小鸟的反弹情况。 设置弹弓slingshot的情况,给弹弓添加圆形碰撞器 Circle Collider2D,将半径设置为9. using System.Collections; public class Spawn : MonoBehaviour
} 给鸟的预制体新建拉动鸟和发射鸟的脚本 using System.Collections; public class PullAndRelease : MonoBehaviour
} 我们运行程序,初始化产生一只小鸟,在左面显示为bird(clone), 当我们转动小鸟从弹弓圈内转出弹弓圈外的时候,小鸟会继续产生,发现这里面有一个bug,
当 OnTriggerExit2D(Collider2D co)被执行一次时, occupied=false;而此时sceneMoving()是false,所以 spawnNext();就被触发一次。 当我们将鸟弹射出去时,多次发射小鸟,会出现小鸟飞出边界但未被边界捕获的情况,而在边界外持续飞翔。 通过本节实践,二维平面上通过给物体弹射能够使物体以一定的初速度进行飞翔。 但是提出了两个问题,一个是小鸟不断产生的问题。另外一个是小鸟飞出边界的问题。需要后续思考如何解决这些问题。小鸟飞出边界的问题其实是同上几节中实践的圆形和方形飞出边界的问题一样,及位移导致没有被边界捕获。而小鸟在转圈的时候不断产生,也需要通过增加一个变量来控制。后续我们需要优化。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 6:26:49- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |