游戏大概:

游戏运行时,点击鼠标左键,生成绿色小球,并朝红色方块飞来。点击鼠标右键,红色方块跳起。当红色方块与绿色小球相撞时,绿色小球被弹开。

游戏运行效果:

游戏实现细节:

控制方块代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class player1 : MonoBehaviour
{protected float jump_speed = 12.0f;public bool is_landing = true; //用来判断发现碰撞时是否为与与地面相撞(也可能是与小球相撞)// Use this for initializationvoid Start(){}// Update is called once per framevoid Update(){if (this.is_landing)  //使得落地后才能再次弹起,而不能在空中再次弹起。{if (Input.GetMouseButtonDown(0)){this.is_landing = false;//this.GetComponent<Rigidbody>().velocity = new Vector3(0.0f, 12.0f, 0.0f);this.GetComponent<Rigidbody>().velocity = Vector3.up * this.jump_speed;}}}void OnCollisionEnter(Collision collision)  //和其他游戏对象发生碰撞时调用的方法。{if (collision.gameObject.tag == "Floor"){this.is_landing = true;}}
}

控制小球代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Ball : MonoBehaviour
{// Use this for initializationvoid Start(){this.GetComponent<Rigidbody>().velocity = new Vector3(10.0f, 9.0f, 0.0f);}// Update is called once per framevoid Update(){}void OnBecameInvisible()  //在游戏对象移动到画面之外不再被绘制时调用的方法。{Destroy(this.gameObject);  //删除跑出画面之外的小球。}}

发射台(空游戏对象):

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Launcher : MonoBehaviour
{public GameObject ballPrefab;// Use this for initializationvoid Start(){}// Update is called once per framevoid Update(){if (Input.GetMouseButtonDown(1)){Instantiate(this.ballPrefab);  //通过预设生成游戏对象实例的方法。}}
}

让方块不被弹开:

选择项目视图中的 Ball 预设。打开 Rigidbody 标签,将 Mass 项的值由 1 改为 0.01.

Mass 值用于设定游戏对象的重量。两个游戏对象发生碰撞时,Mass 值较大的物体将保持原速度继续运动,Mass 值较小的物体则容易因为受到冲击而改变移动的方向。

让小球强烈反弹(设置物理材质):

首先创建物理材质,选择创建 Physic Material. “物理材质” 用于设定弹性系数和摩擦系数等与物理运动相关的属性。

在项目视图中选择新创建的 Physic Material 后,在检视面板中选择 Bounciness , 将其值由0 改为 1 。 这个值越大,游戏对象就越容易被 “弹开”。

再把这个 Physic Material 加到小球的预设中就行了。

消除 “漂浮感”(调整重力大小):

unity3D 在处理数字时,并未特别指定按照米或者厘米为单位进行计算。目前方块和小球的尺寸值都是1. 也就是说现在游戏中,方块的边长为1米,小球的直径为1米。因此现在看到的游戏对象下落速度都比较缓慢,为了消除这种感觉,我们可以减小游戏对象尺寸,也可以增加重力值。

增加重力值:    在窗口顶部菜单中依次点击 Edit ----> Project Settings ----> Physics, 检视面板中将切换显示 PhysicsManager. 将 Gravity 项的 “Y” 值稍微提高一些,比如设为 -20(注意负号),就可以增加重力值了。

unity3D实现小游戏案例--弹开小球相关推荐

  1. 学习飞刀小游戏案例(cocos creator)

    学习飞刀小游戏案例(cocos creator) 首先,我们先进行布局,搭建好靶点与小刀节点,小刀位置(0,-300),靶点位置(0,300),小刀生成预制体,一会需要用到. [截图] 1.在onLo ...

  2. 初识JAVA:猜数字小游戏案例---系统产生一个1-100之间的随机数,猜出这个数是多少?

    package com.pku.wuyu.io; import java.util.IllegalFormatCodePointException; import java.util.Random; ...

  3. 视频教程-Layabox3D游戏开发入门-微信3D小游戏案例 -微信开发

    Layabox3D游戏开发入门-微信3D小游戏案例 有多年Unity程序开发经验,有策划和美术设计的经验.愿意在csdn这个平台和大家一起分享! 金龙 ¥29.00 立即订阅 扫码下载「CSDN程序员 ...

  4. 【Unity3D开发小游戏】专栏文章导读清单

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 一.前言 本专栏,以小游戏的开发为手段,以学习为目的,在学习的道路中,总是要 ...

  5. ui动效 unity_针对Unity3D的小游戏UI框架——IceCreamView

    前言 IceCreamView是什么? IceCreamView(以下简称ICView)是一套针对Unity3D的小游戏UI快速构建框架. 同时ICView是一套面向组件开发模式的UI框架,以容器+组 ...

  6. CocosCreator物理小游戏实战-别离开碗(一)

    摘要 CocosCreator 物理小游戏实战教程开更啦!来跟 KUOKUO 一起学习吧!开发语言为 TypeScript! 正文 使用版本 CocosCreator 版本 2.3.4 游戏效果 游戏 ...

  7. 【Unity3D开发小游戏】《愤怒的小鸟》开发教程

    [Unity3D开发小游戏]<愤怒的小鸟>开发教程 2019年09月11日 10:34:36 恬静的小魔龙 阅读数 1698更多 分类专栏: Unity3D日常 Unity3d手游开发 U ...

  8. c语言程序设计小球弹跳,c语言小游戏程序之弹跳小球的实现代码

    现在说一下其中一个最简单的小程序:弹跳小球 ---------------LINE---------------- 首先我们知道,在窗口的坐标系原点是在窗口左上角的,如图所示 然后我们如果想在这个坐标 ...

  9. 飞机躲子弹小游戏案例

    如今的网络世界,各种各样的小游戏层出不穷,但随着游戏行业的发展,有的小游戏淡出了玩家们的视野,有的小游戏则被程序员们按照现在玩家的喜好更改为其他的形式,继续陪伴着玩家.虽然我对这些小游戏关注少了,但我 ...

  10. 【Unity3D开发小游戏】《战棋小游戏》Unity开发教程

    一.前言 这次想要做的一个小游戏,或者说一个小Demo,其实是一个简单且传统的战棋战斗场景.初步的设计是:在2D世界里创建一张由六边形地块组成的战斗地图,敌我双方依据体力在地图上轮流行动并向对方发动攻 ...

最新文章

  1. [深度学习-实践]tensorflow_hub简单理解模型的生成与加载
  2. ES启动错误 ERROR: the system property [es.path.conf] must be set
  3. 141.3. 单机安装 CentOS 5 + hadoop-0.20.0
  4. python 3d游戏编程入门_用python写游戏 - 从入门到精通16
  5. 更新个祥硕ASM1153E开卡转接板的固件,详细教程
  6. 雅马哈推出可以播放黑胶唱片和流行音乐的无线唱盘
  7. 逍遥模拟器获取服务器信息出错,前沿科技资讯:逍遥安卓模拟器网络不稳定如何办(显示网络异常解决方法)...
  8. 通信设计院,到底是干啥的?
  9. 正版 Windows 10安装教程
  10. 程序员开发了自己的产品怎样推广?说一说我的免费在线客服系统推广经验
  11. 【毕业设计】基于微信小程序的奶茶店奶茶点单系统
  12. BootStrap工具使用
  13. c语言劫持dll写法,[原创]DLL劫持生成器 源码开放(纯WINDOWS SDK)+ 实例分析
  14. python抓取微博热搜列表
  15. BIM模型文件下载——某小别墅项目Revit模型
  16. 分享88个搜索链接PHP源码,总有一款适合你
  17. php文件批量改名,php批量重命名_PHP教程
  18. 数理统计与统计软件测试卷,《数理统计》测验卷(一)答案
  19. spine动画插入网页教程,带自适应 (Pixijs) (觉得最好的方法)
  20. MySQL怎么运行的系列(八)14张图说明白MySQL事务原子性和undo日志原理

热门文章

  1. ILSVRC2012下载+训练
  2. 机器学习笔记 - 使用Face recognition、OpenCV、Python进行人脸识别
  3. 常用服务器管理口IP及账号密码(持续更新)
  4. MySQL安装步骤(ZIP版)
  5. 人体动作捕捉技术综述
  6. 15.3,python中扫描条形码和二维码
  7. 【ThinkPHP】后台数组,赋值到前台模板HTML文件中的JS的变量,且以JSON对象形式存放
  8. 国开电大 古代诗歌散文专题 形考任务
  9. hbase时间同步造成region severs的问题
  10. 基于MATLAB的列车防护曲线组合步长算法分析与仿真验证