unity简易游戏制作
前言
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
一、Superball是什么?
Superball是一款基于unity软件使用c#语言制作的简易解压小游戏,代码简单,制作简易。
二、使用步骤Superball
1.自动障碍控制
代码如下(示例):
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class AutoDestoryBarriers : MonoBehaviour {private void OnTriggerEnter(Collider other){Destroy(other.gameObject);}
}
2.障碍物控制
代码如下(示例):
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class BarrierControl : MonoBehaviour {public int barrierInterval=5;public GameObject player;public GameObject CurrentBarrier;public GameObject BarrierPre;// Use this for initializationvoid Start () {}// Update is called once per framevoid Update () {AutoCreatBarrier();}// 障碍物自动生成public void AutoCreatBarrier(){if(player.transform.position.x>CurrentBarrier.transform.position.x){//生成新的障碍物float targetX = CurrentBarrier.transform.position.x + barrierInterval;float targetY = RandomBarrierPosition();Vector3 targetPos = new Vector3(targetX,targetY,0);GameObject g = Instantiate(BarrierPre,targetPos,Quaternion.identity);//随机大小g.transform.localScale = new Vector3(g.transform.localScale.x, RandomBarrierSize((int)g.transform.position.y), g.transform.localScale.z);//判断障碍更换CurrentBarrier = g;}}//障碍随机大小public float RandomBarrierSize(int r){int rAbs = Mathf.Abs(r);if(rAbs==0){return 6;}else{return (3-rAbs)*2+1;}}//障碍物随机位置public float RandomBarrierPosition(){int r = Random.Range(-3,3);Debug.Log(r);return r;}
3.障碍物颜色
代码如下(示例):
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class BarrierColor : MonoBehaviour {public Material[] barrierMaterial;// Use this for initializationvoid Start () {int i = Random.Range(0,barrierMaterial.Length);gameObject.GetComponent<Renderer>().material = barrierMaterial[i];}// Update is called once per framevoid Update () {}
}
4.相机移动
代码如下(示例):
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class CameraControl : MonoBehaviour {public GameObject player;private float offset;// Use this for initializationvoid Start () {offset = gameObject.transform.position.x - player.transform.position.x;}// Update is called once per framevoid Update () {gameObject.transform.position = new Vector3(offset+ player.transform.position.x, gameObject.transform.position.y, gameObject.transform.position.z);}
}
5.玩家移动
代码如下(示例):
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class PlayerMove : MonoBehaviour {public float speedAutoMove = 5;public float speedMoveUpAndDown = 20;public Rigidbody rd;// Use this for initializationvoid Start () {rd = gameObject.GetComponent<Rigidbody>();}// Update is called once per framevoid Update () {PlayerAutoMove();PlayerMoveUpAndDown();}private void PlayerAutoMove(){rd.AddForce(Vector3.right * speedMoveUpAndDown);}private void PlayerMoveUpAndDown(){float v = Input.GetAxis("Vertical");rd.AddForce(v * speedMoveUpAndDown * Vector3.up);}
}
6.墙壁控制
代码如下(示例):
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class WallControl : MonoBehaviour {private float offset;public GameObject player;// Use this for initializationvoid Start () {offset = gameObject.transform.position.x - player.transform.position.x;}void Update(){FollowPlayerMove();}// Update is called once per framevoid FollowPlayerMove () {gameObject.transform.position = new Vector3(player.transform.position.x+offset,0,0);}
}
动画展示
总结
对于unity来说制作这些简单游戏需要的就是对于代码指令的熟练使用,练得多了自然就会熟练。
unity简易游戏制作相关推荐
- unity小游戏制作之见缝插针
unity小游戏制作之见缝插针 先看效果图这个游戏是一个入门的小游戏,主要技术就是圆盘的旋转,针跟随圆盘旋转以及分数累加等 游戏先拖入一个圆,更改格式为2D然后建立脚本使其转动 public clas ...
- Unity 2D游戏制作
调试背景 2D游戏的制作最重要的是层的设置 先设置两个层①Layers②Edit Layers③Sorting Layers添加两个层BackGround和Front 调试大雁 创建2D object ...
- Unity学习笔记2 简易2D横版RPG游戏制作(二)
十二.敌人受攻击时的闪烁和Player的生命值的修正 上一篇中,我们利用Controller2D中的IEnumerator TakenDamage接口,使得我们的Player受到攻击时会进行闪烁,我们 ...
- Unity - 使用Winform制作简易登录器
Unity - 使用Winform制作简易登录器 Resolution Dialog PC.Mac环境下,Unity提供了一个简易的设置分辨率.图形性能的对话框,叫Resolution Dialog, ...
- Unity 4 3 制作一个2D横版射击游戏 2
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 在上一篇 ...
- Ruby‘s Adventrue游戏制作笔记(十四)Unity播放游戏音效
Ruby's Adventrue游戏制作笔记(十四)Unity播放游戏音效 前言 一.创建背景音乐 二.创建新的脚本 三.在其他需要播放的所有脚本中进行操作 四.给敌人添加音效 五.给玩家添加移动音效 ...
- Ruby‘s Adventrue游戏制作笔记(十二)Unity给角色添加简单的特效
Ruby's Adventrue游戏制作笔记(十二)Unity给角色添加简单的特效 前言 一.把特效物品进行切割 二.创建 particle System 三.创建彩色球 四.再设置一下其他属性 五. ...
- Unity-业余2D游戏制作笔记02-Dialogue System for Unity使用
纯新手,仅用于记录个人学习中遇到的问题. 目录 当前目标: C#的变量数值和LUA代码连接 (一)Dialogue System任务流程里简单的LUA代码修改变量 (二)Lua通过调用C#函数,来修改 ...
- unity 2D游戏开发 制作帧动画的两种方法
本小主在这里给大家分享一下unity 2D游戏开发中制作帧动画的两种方法. 比较简单,一学即会. 方法一: 是用代码控制: 先创建一个2D工程.导入图片资源,并设置texture的texture ty ...
- 自制Unity小游戏TankHero-2D(1)制作主角坦克
自制Unity小游戏TankHero-2D(1)制作主角坦克 我在做这样一个坦克游戏,是仿照(http://game.kid.qq.com/a/20140221/028931.htm)这个游戏制作的. ...
最新文章
- java主键后四位顺序号_JAVA中取顺序号 (转)
- excel合并多个工作表_多个工作表或者多个工作簿的合并计算
- 京东一面:说出ThreadLocal的使用场景及使用方式
- ajax data参数
- eclipse 使用心得
- 拓端tecdat|维度规约(降维)算法在WEKA中应用
- Introduction to Computer Networking学习笔记(二十八):DNS
- java 有序set_java set 顺序
- Zigbee 协议栈网络管理
- mysql 允许主码重复_数据库主码可以重复吗
- re.sub 使用方法
- 利用word2vec训练词向量
- c语言分离个位十位百位_用c语言如何表示出一个数的个位,百位,十位
- 雪晴数据网 - 在线学习数据科学技术
- Digital Pre-Distortion (数字预失真)以及用途
- 基于GIS的建筑物群高度变化程度计算工具及计算实例经验分享
- Idea中设置护眼绿
- 【HPE】3D HPE调研
- VTOL是指这样的,垂直起降固定翼,不是四旋翼
- 文件服务器如何鉴权,服务器客户端鉴权方式