猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网--Cocos2Dev.com,谢谢!
原文地址: http://www.cocos2dev.com/?p=342
今天正式开始了第一个实战项目【疯狂杀戮】的开发教程,在教程中我会讲解整个游戏的开发过程,整个开发过程是建立在你已经基本明白了最基本的地形操作和一些基本API的使用。我选的项目第一篇教学是控制角色的移动,这是最基本的游戏控制。OK,开场白结束,开始咯~第一步:简单场景的搭建:
1、首先请打开Unity,新建一个Unity工程。
2、新建的工程默认会加入Main Camera,我们加入一个地形Terrain,Terrain->create Terrain。
这时你发现场景都是黑黑的,我们在加一个方向光光源(可以理解成太阳)Directional light,选中工程的Hierarchy面板,Create->Directional light。
3、导入角色模型文件,可以直接把模型人物文件复制到工程的Assets目录下,Unity会自己刷新并加载模型文件。
4、在Project面板,选中我们导入的模型文件,拖拽到Scene场景中,并调节好位置,起码让自己能看到它在哪。
OK,一个最简单的场景搭建完毕。
Scene面板:
Hierarchy面板、Project面板:
第二步:脚本控制角色移动:
1、选中Project面板,新建一个文件夹Create->Folder,命名为MyScript,这个文件夹用来存放我们自己写的脚本文件。良好的编程习惯还是需要滴…
2、选中MyScript文件夹,Create->C# Script,命名为BarbariansControl。当然你也可以使用js脚本。API都是一样的。
3、双击打开创建的BarbariansControl脚本文件,Unity会默认使用MomoDevelop编辑器进行编辑。(你也可以选择使用自己熟悉的IDE)。
4、代码的编写:
Unity对新建的文件会自动创建一些函数。
最常见的Update,系统每一帧都会自己调用。(点击查看更多详细介绍)
代码:
using UnityEngine;
using System.Collections;
public class BarbariansControl : MonoBehaviour {
public const int HERO_UP= 0;
public const int HERO_RIGHT= 1;
public const int HERO_DOWN= 2;
public const int HERO_LEFT= 3;
public int state = 0;
public int moveSpeed = 10;
public void Awake() {
state = HERO_UP;
}
void Update () {
float KeyVertical = Input.GetAxis ("Vertical") ;
float KeyHorizontal = Input.GetAxis ("Horizontal");
if(KeyVertical == 1){
//up
setHeroState(HERO_UP);
}else if(KeyVertical == -1){
//down
setHeroState(HERO_DOWN);
}
if(KeyHorizontal == 1){
//right
setHeroState(HERO_RIGHT);
}else if(KeyHorizontal == -1){
//left
setHeroState(HERO_LEFT);
}
if(KeyVertical == 0 && KeyHorizontal ==0){
animation.Play();
}
}
public void setHeroState(int newState) {
int rotateValue = (newState - state) * 90;
Vector3 transformValue = new Vector3();
animation.Play("walk");
switch(newState){
case HERO_UP:
transformValue = Vector3.forward * Time.deltaTime;
break;
case HERO_DOWN:
transformValue = -Vector3.forward * Time.deltaTime;
break;
case HERO_LEFT:
transformValue = Vector3.left * Time.deltaTime;
break;
case HERO_RIGHT:
transformValue = -Vector3.left * Time.deltaTime;
break;
}
transform.Rotate(Vector3.up, rotateValue);
//move
transform.Translate(transformValue * moveSpeed, Space.World);
state = newState;
}
}
编写完毕后,回到Unity工程,选中Project面板中的BarbariansControl脚本文件,鼠标拖拽到Hierarchy面板中的角色模型上,进行脚本绑定。
OK,Run一个工程,看看效果:
注:
float KeyVertical = Input.GetAxis ("Vertical") ;
float KeyHorizontal = Input.GetAxis ("Horizontal");
这是利用Unity有的的输入管理器,获取水平和竖直方向。目前不清楚的可以先不用管,知道它的返回值1和-1可以表示上下和左右就可以了。后面我会介绍的。
分享到:
相关推荐
Unity3D杀戮丧尸射击源码带文档教程,有文档的 可以轻松上手 Unity精品小游戏源码 , Unity完整项目源码 是个完整项目的压缩包 , 可以直接打开运行 , 新建空项目直接导入到项目里面就可以运行了,无需其他操作。 适合...
Age Of Quest Unity Source Code 僵尸怪物杀戮游戏Unity项目源码C# 支持Unity版本5.6.0f3及以上 任务时代 购买 Age Of Quest Unity 源代码,用你的剑、魔法技能、甚至超帧杀死无尽的骷髅。拯救你的城堡,骷髅会摧毁...
项目引擎:Unity 语言:C# 主要实现逻辑 一. 地图房间生成规则 ①房间数量规则 起点层:房间数量动态配置 中间层:房间数量 :{最小值:2 ,最大值起点数量*2-1} boss 层:房间数量=1 ②房间位置 X: 房间在该层平铺...
unity3d
杀戮尖塔游戏源码
(4-5.x)极道杀戮最新支持webgFull Game Kit Hammer 2.zip项目unity源码下载(4-5.x)极道杀戮最新支持webgFull Game Kit Hammer 2.zip项目unity源码下载 1.适合学生学习研究参考 2.适合个人学习研究参考 3.适合...
简介杀戮尖塔的MOD都需要modthespire,stslib和basemod这三大支持库来支持,杀戮尖塔mod的本质是在游戏本体中通过第三方API [1]来添
Unity 资源服务器是一个附加的包括版本控制的产品。 光影 Unity 提供了具有柔和阴影与烘焙 lightmaps 的高度完善的光影渲染系统。 文档 Unity 为你提供逐步的指导、文档和实例方案。 ==============================...
易语言源码杀戮战场.rar 易语言源码杀戮战场.rar 易语言源码杀戮战场.rar 易语言源码杀戮战场.rar 易语言源码杀戮战场.rar 易语言源码杀戮战场.rar
Ultimate Replay 3.0 Unity终极重播倒放插件项目源码C# 支持Unity版本2021.3.6或更高 Ultimate Replay 3.0 是一个完整的基于状态的重播系统,旨在尽可能简单地向您的游戏添加杀戮摄像机或动作重播。 描述 Ultimate ...
《杀戮地带2》中的延迟渲染部分翻译, 主要内容包括: 延迟渲染和其他渲染模式的比较 杀戮地带2使用的延迟渲染模式 杀戮地带2延迟渲染的优化
杀戮者 这个小尖峰旨在快速而肮脏地演示如何使用 Elixir 并发连接一堆 ssh 设备并执行命令。 使用默认设置,将启动 5000 个 ssh 服务器和 5000 个客户端(每个服务器一个客户端)。 这个峰值非常基础,因为它忽略...
花花机器人一个破坏 Discord 服务器的机器人。如何? 首先,创建一个 Discord 机器人(互联网上有很多指南)。 下载这个机器人,运行npm install并将令牌粘贴到 bot.js 文件中(它说明在哪里)。 使用命令node .启动...
杀戮战场.zip易语言项目例子源码下载杀戮战场.zip易语言项目例子源码下载 1.合个人学习技术做项目参考 2.适合学生做毕业设计参考 3.适合小团队开发项目参考
stsmapgen 该地图生成器的灵感来自于《 。理论设置起点和终点。 用泊松圆盘采样准备点。 用Delaunay三角剖分生成链接。 用A *查找从起点到终点的路径。 排除路径上的随机点。 重复步骤4和5几次。...
Challenge Of The Zombie 僵尸挑战类似愤怒的小鸟Unity游戏项目源码C# 支持Unity版本2017.1.0f3及以上 僵尸杀戮游戏 商品描述 《Challenge Of The Zombie Unity》源代码,用最少的子弹杀死僵尸。你必须仔细瞄准,让...
它是用Unity3D制作的,对于上述游戏而言,它可能是一个很好的“起点”。 目前,您可以: 抽奖卡拖牌将卡片放回手中,放入“手牌区域”(绿色区域); 播放/丢弃卡放到“播放卡区域”(橙色区域)中; 悬停/放大玩家...
包括脚本,配置,BGM,音效,图片
易语言杀戮战场源码,杀戮战场,初始化敌人1,初始化位置1,击中敌人1,初始化敌人2,初始化位置2,击中敌人2
Metal Shooter: Super Soldiers 金属射手: 超级士兵终极动作射击游戏项目源码C# 支持Unity版本2017.4.29f1及以上 商品描述 准备好你的武器,迎接这款终极动作游戏。 《金属射手》是一款完全平台式的2D动作射击游戏,...