类似愤怒小鸟的星球引力效果
在Unity中的物理学:
有一个真实的物理行为,你的游戏对象一定受到碰撞、 重力和各种其他力的影响。为模拟此物理功能是由Unity的物理引擎提供的主要功能之一(虽然很多大的项目都不是用它)。
重力:
重力,汇集所有物质的力量。物质包括任何有形的事物。重力是成线性比例关系。因此,有很多问题,引力对围绕的飞行的东西产生向心力。 质量就是我们如何衡量物质的东西的数量。更大规模的事情是质量越大,它所产生的引力越多。当我们走在地球表面上。但由于地球是大大超过我们,而地球的引力能使我们落在地面,除了取决于所用的质量,重力也取决于你的东西有多远。这就是为什么我们在地球表面而没有在太阳表面, 在你的游戏中实现对地球引力的影响。
示范项目:
打开Unity,转到File > New Project 。 给项目起名并选择2D 。 创建一个场景Scene与主照相机Main Camera,行星的Sprite ,鸟的Sprite 和画布里面包含文本,如下所示:
图片可以从网上下载,并设置如下:
转到GameObject > UI > Text,你可以填写你的内容。在这里,我使用游戏视图中的文本内容为"Press Space"。 现在,旋转在行星附近的鸟,编写一个 C# 脚本如下图所示,将它应用于你的鸟。
Bird.cs:
using UnityEngine;
using System.Collections;public class Bird : MonoBehaviour
{public Transform planet;private float forceAmountForRotation = 10;private Vector3 directionOfPlanetFromBird;private bool allowForce;void Start(){directionOfPlanetFromBird = Vector3.zero;}void Update (){allowForce = false;if (Input.GetKey(KeyCode.Space))allowForce = true;directionOfPlanetFromBird = transform.position - planet.position;transform.right = Vector3.Cross(directionOfPlanetFromBird, Vector3.forward);}void FixedUpdate (){if (allowForce) rigidbody2D.AddForce (transform.right * forceAmountForRotation);}
}
向行星的中心添加可以拉这只鸟的引力,编写一个 C# 脚本如下所示并将其应用到你们的星球。
using UnityEngine;
using System.Collections;
public class Planet : MonoBehaviour
{public Transform bird;private float gravitationalForce = 5;private Vector3 directionOfBirdFromPlanet;void Start (){directionOfBirdFromPlanet = Vector3.zero;}void FixedUpdate (){directionOfBirdFromPlanet = (transform.position-bird.position).normalized;bird.rigidbody2D.AddForce (directionOfBirdFromPlanet*gravitationalForce); }
}
这样Play场景,然后运行就会看到效果了啊!
类似愤怒小鸟的星球引力效果相关推荐
- VUE,使用物理引擎Box2D设计类愤怒小鸟的击球游戏--基本架构设置
我们都玩过愤怒的小鸟,该游戏一大特点是,两物体碰撞后,它会模拟现实世界物体碰撞后的反弹效果,因此游戏特别具有体感和逼真感,本节我们利用物理引擎Box2D,制作一个类似愤怒小鸟类型的碰撞游戏. 游戏的基 ...
- 蓝桥杯java第七届决赛第一题--愤怒小鸟
愤怒小鸟X星球愤怒的小鸟喜欢撞火车!一根平直的铁轨上两火车间相距 1000 米两火车 (不妨称A和B) 以时速 10米/秒 相对行驶.愤怒的小鸟从A车出发,时速50米/秒,撞向B车,然后返回去撞A车, ...
- java实现第七届蓝桥杯愤怒小鸟
愤怒小鸟 题目描述 X星球愤怒的小鸟喜欢撞火车! 一根平直的铁轨上两火车间相距 1000 米 两火车 (不妨称A和B) 以时速 10米/秒 相对行驶. 愤怒的小鸟从A车出发,时速50米/秒,撞向B车, ...
- php开发愤怒的小鸟,如何使用纯CSS实现一只黑色的愤怒小鸟(附代码)
本篇文章给大家带来的内容是关于如何使用纯CSS实现一只黑色的愤怒小鸟(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 效果预览 源代码下载 https://github.co ...
- 对愤怒小鸟首席美术设计Ellinoora的访谈
Ellinoora Laine, aka Dashiana zizizi323 翻译 Q:Dashi!谢谢你接受采访!开始说说什么让你进入美术设计的吧! A:我要谢谢你才是,我觉得你对我的工作感兴趣是 ...
- 微信小程序手把手教你实现类似Android中ViewPager控件效果
微信小程序手把手教你实现类似Android中ViewPager控件效果 前言 需求分析 头部TAB 滑动的内容部分 最终版本 尾巴 前言 在做Android开发的时候,ViewPager是开发者使用频 ...
- C++实现愤怒小鸟小游戏
C++低配版愤怒小鸟小游戏(转载) 相信大家都玩过愤怒小鸟 如果还想玩玩的话 就试下这个代码吧 #include <bits/stdc++.h> #include <windows. ...
- rust 使用tokio的Notify 和timeout实现类似可超时条件变量的效果
Notify配合timeout,在异步编程中实现类似可超时条件变量的效果.代码很简单,如下: use std::{sync::Arc, time::Duration};use tokio::{sync ...
- c语言微信小程序编程,微信小程序实现类似微信点击语音播放效果
本文实例为大家分享了微信小程序类似平常微信语音聊天的效果,不会互相干扰播放状态,供大家参考,具体内容如下 根据开发的需求,先理清一下思路,点击语音播放与暂停/停止,切换下一个语音等: 小程序对于aud ...
最新文章
- Class.getResourceAsStream
- 下一个全球电子通道系统,一定是BCH!
- 以太坊服务器是什么_搭建以太坊节点服务器https API
- 转发萌新人鱼博客-Java面向对象-面向对象编程之基本概念
- asp.net 能否多线程断点续传?
- 电容屏物体识别_相比传统的触摸屏,电容式触摸屏的优势
- linux客户端 存活检测,Linux下客户端检测服务器的 heartbeat
- 正则表达式 匹配中文,英文字母和数字及_的写法!同时控制长度
- JS兼容各个浏览器的本地图片上传即时预览效果
- 《转》武​汉​的​I​T​公​司
- webservice 视频教程 Spring+xfire 整合
- C语言指针面试题详解
- Java 输入判断5,7倍数
- ffmpeg下载安装,以及springboot 整合视频点播学习
- SAP 领料BAPI BAPI_GOODSMVT_CREATE 提示 短缺未限制使用的SL
- 云手机互联网点评系列-华为云手机云服务cloud+初评
- Android 高德地图key获取、坐标定位
- Dev - C++ 安装(mac/windows)
- 【社招和校招】格灵深瞳合肥研发中心计算机视觉算法岗招聘
- JS的some和every
热门文章
- es浏览器连接电脑找不到服务器,es文件浏览器,教您es文件浏览器怎么连接电脑...
- Exception while loading planner ‘ompl_interface/OMPLPlanner‘: According to the loaded plugin descrip
- 202303读书笔记|《长安的荔枝》——只要肯努力,办法总比困难多
- (附源码)计算机毕业设计SSM老年公寓管理系统
- 【CCAI 2016】大疆李泽湘:智能机器人解决实际问题的路径
- yii2的下拉框dropDownList使用方法
- moto x android8.1,业界良心 Moto G4 Plus可升级安卓8.0
- MacOS忘记密码又一解决方法
- 记第一次topcoderSRM赛(2011,09,10)Jie.Qin'birthday
- 浅述云空间与网盘之间的差别所在