Unity2D游戏制作教程 | 8.设置基本输入系统并实现人物移动
myzbx 2025-05-25 14:23 4 浏览
我们操作玩家的按键在新版本的unity中是可以更改的,默认是wasd,但是在新版本中可以实现更换按键,我们可以来试一下,通过代码实现玩家在按键的控制下移动。
- 在Unity中如何通过代码控制人物的基本移动,包括跳跃和跑步等,并详细讲解了代码的编写和添加到玩家身上的步骤。
- 准备写代码控制人物的基本控制,包括跳跃和跑步
- 我们为了保证项目文件的规范性,在Assets中添加一个文件夹,命名为Scripts。后续所有的脚本都在这个文件夹中创建,
- 为了更清晰,我们可以创建一个Player文件夹,将玩家相关的代码都放到这个文件夹中
- 在这个文件夹中创建一个脚本命名为PlayerController,最好将这个名字一次修改好,不然后续再修改的时候还得修改脚本里面的类名,比较麻烦。
- 如下图:
编译完成后,可以在屏幕右侧预览代码文本内容
然后将脚本添加到Player这个对象中
当然也可以直接选中Player,将脚本拖拽到Player的Inspector中
编译完成后双击脚本文件就可以在编辑器中打开代码文件了
脚本基本信息,Unity中C#编程的一些基础知识,包括变量赋值、组件获取等,
算法和检测在update中执行,变量赋值和组件获取在start中执行。
建议在写代码前查看unity官方的c#初级或中级视频,有助于快速了解C#。
做到这里以后先保存你的脚本和项目。
升级unity到新的输入系统。使用Unity全新的输入系统进行游戏开发。
打开Edit下的ProjectSettings,在左侧的player选项中的 Other Setting下找到选择新的input system系统。
也就是下图右侧的两个方框,我们设置这两个内容,第一个是C#语言的api等级,可以使用更多C#新特性,第二个Inpu System Package(New)就是新的输入系统:
注意,设置了新的Input System后项目会重启,所以在设置之前先保存你的项目。
设置完后我们还需要安装一个 Input System这个包,按照下图步骤安装
- 自动添加输入系统。
- 在Settings文件夹中创建一个文件夹命名为Input System 来保存我们后续创建的输入系统,也可以叫输入控制器,
创建完成后,会提示你还没有创建Actions,点击创建,(下面图中应该是在Input System文件夹中保存,截图里写错了。)
可以看一下自动生成的控制系统有键盘手柄等等,
然后就可以来进行控制了,
这里我们点击移除组件,生成脚本。他就会自动帮你生成一个底层的脚本逻辑,方便后续我们的PlayerController脚本来调用。我们后续编写代码使用我们之前创建的脚本来进行左右移动的控制。
下面我们修改PlayerController来实现变量的修改
先调用一下
public PlayerInputController inputControl;
//声明一个变量 playerController 用来存储PlayerController这个类的实例
//来调用我们创建的控制系统
public void Awake()
{
inputControl = new PlayerInputController();
}
//这里声明一个方法Awake() 用来创建我们的控制系统
//这个方法在游戏启动的时候执行一次
//这里声明一个方法OnEnable() 用来启用我们的控制系统
public void OnEnable()
{
inputControl.Enable();
}
//这里声明一个方法OnDisable() 用来禁用我们的控制系统
public void OnDisable()
{
inputControl.Disable();
}
public Vector2 inputDirection;
//这里声明一个变量 inputDirection 用来存储我们的输入方向
//这个变量对应输入系统中的Vector变量
在update函数中监测输入并传递给变量
这个时候运行游戏,可看到WASD可以修改Player的Input Direction值
六 、使用代码实现人物左右移动
public float speed;
//这里声明一个变量 speed 用来存储我们的速度
生成变量后我们将它的值设置为200
public Rigidbody2D rb;
//这里声明一个变量 rb 用来存储我们的刚体组件
将Unity中Player的刚体组件拖拽到生成的rb变量上、然后创建一个方法
或者使用Awake方法获取,
public void FixedUpdate()
{
//这里声明一个方法FixedUpdate() 用来更新我们的控制器
//这个方法在游戏运行过程中每帧执行一次
//这里我们通过调用我们的控制器的Move方法来移动我们的角色
Move();
}
//生成一个方法Move来实现上面的Move
七 通过修改人物Scale来实现人物左右移动是人物的朝向翻转
我们这里在Move中一个判断来实现:(如果输入的X大于0,那么朝向右,如果小于0,则朝向左)
// 这里使用变量来修改Scale实现人物翻转
上图中看到,我们之前定义了一个变量inputDirection用来保存我们输入的方向的值,如果大于0,面向右,小于0面向左
if(inputDirection.x>0)
{
transform.localScale = new Vector3(1,1,1);
}
if(inputDirection.x<0)
{
transform.localScale = new Vector3(-1,1,1);
}
- 上一篇:这是勇敢者的游戏!你不来试一下?
- 下一篇:能旋转的塔防游戏? 睡意侵袭试玩体验
相关推荐
- 疯鸟开发者又杀回来了 虐心游戏《旋转直升机2》周四上架
-
寿司发表于2015-12-1616:34想必有不少玩家都曾被“自虐神作”FlappyBird《疯狂的小鸟》给“虐待”过,而继这款休闲游戏之后,其制作人越南大叔DongNguyen又再度...
- 暴雪游戏新服务,游戏时间自由转!
-
宝子们,暴雪游戏服务中心推出了一项超级人性化的新服务!很多像我们这样的玩家,有好多子账号,或者同一身份证下有多个战网账号。有时候就想看看小号,还得充值,真的太亏啦!但是现在不用愁啦,新服务可以在...
- Maybe Test |《旋转冲击波》游戏体验
-
点击“MaybeTest”关注我们,每天都有最火爆的游戏体验报告!《旋转冲击波》游戏体验微信号:MaybeTest旋转冲击波(OneMoreDash)是一款简单的休闲游戏,游戏中的设计可谓简单,虽...
- 从翻花绳到数字游戏:童年乐趣的变迁与联机时代的到来
-
在当今这个科技飞速发展的时代,许多曾经简单而纯粹的游戏逐渐被高科技产品所取代。然而,最近一段时间,一段关于女孩们在课间玩翻花绳的视频引发了网友们的热议,大家纷纷感慨:“越来越高级了,小时候我都是用手玩...
- 旋转横条新游曝光 旋转十字连线唯美画面
-
GingearStudio是由仅有几个人组成的独立制作团队,而这款休闲游戏OpenBar《旋转横条》便是它们的处女作。该作以简朴的画风为主,搭配模拟水珠气泡流动的游戏背景而打造,令整个游戏都...
- Glozzle 旋转解谜攻略大全 旋转注意方可过
-
Glozzle旋转解谜里面我们需要通过一些办法才能够更为巧妙的结合出我们所需要的图形,究竟接下来我们该如何解决这一切的谜题呢?一起来看下本篇Glozzle旋转解谜攻略大全是如何做到的吧。Glozz...
- 烧脑解谜游戏《棱镜》上架 几何旋转连线拼凑核心
-
寿司发表于2016-02-1417:33以简单的图形结合不复杂玩法的几何游戏想必不少玩家都会有所接触,但这款_PRISM《棱镜》却用烧脑的玩法搭配变化多端的几何图形来呈现出不一样的烧脑解谜游戏...
- 索尼新专利“旋转椅”曝光! 全方位体验VR游戏
-
集微网消息,近日有玩家就发现了一款由索尼申请的PSVR新专利,能让玩家享受全方位沉浸式VR体验的新设备——“旋转椅”,有了它,玩家就能在VR游戏中旋转跳跃不停歇。从专利示意图给出的备注来看,序号“10...
- 能旋转的塔防游戏? 睡意侵袭试玩体验
-
最近优秀的塔防游戏可真是不少,大家现在肯定都在关注着《王国保卫战:起源》何时来到安卓平台,小编也跟大家一样很期待这款神作,在漫长的等待时间里,小编要为大家推荐一款比较另类的塔防游戏,它就是《睡意侵袭》...
- Unity2D游戏制作教程 | 8.设置基本输入系统并实现人物移动
-
我们操作玩家的按键在新版本的unity中是可以更改的,默认是wasd,但是在新版本中可以实现更换按键,我们可以来试一下,通过代码实现玩家在按键的控制下移动。在Unity中如何通过代码控制人物的基本移动...
- 这是勇敢者的游戏!你不来试一下?
-
滑雪勇敢者的游戏想要征服长长的雪道先得经历一次次摔倒又一次次站起……你以为我们是来介绍赛事的其实我们是来送欢乐的动动手指和天南地北的网友来场刺激的“雪上疾行”https://pd.xinhua-new...
- 正惊GIF:智慧改变生活!一个小操作,板车变成自动旋转餐桌?
-
大家好,这里是正惊游戏,我是你们的正惊小弟。前方高能预警,每周二准时更新的GIF毫无尿点,请君一看……GIF图片较大,手机端请在Wifi情况下查看。工作人员一个月来毫无进展个子矮还是衣服太长不行,我一...
- 如何手动增加东皇太一魔法球回血频率?顺时针旋转走位是最优选择
-
东皇太一顺时针旋转走位无非是为了提升一技能魔法球接触敌方单位的频率,以此触发更强大的恢复效果。东皇一技能回血量取决于魔法球的触碰次数东皇的一技能最多可创造同时存在的三颗魔法球,辅以被动的回血特性,命中...
- 是躺是站由你决定 休闲游戏《翻转河马》考验你瞬间反应
-
寿司发表于2015-12-2417:55因为可爱和滑稽的形象,所以部分动物形象都一直被众多游戏制作商当作吸引女性玩家的重要元素,而在这款由游戏制作商Ketchapp发布的休闲游戏FlipHi...
- Taito公布迷你街机 配有可旋转屏幕和轨迹球手柄
-
近年来诸多游戏厂商均在复刻复古游戏机,而Taito今天也成为了其中之一。Taito作为游戏行业老牌游戏厂商,旗下有《太空侵略者》、《泡泡龙》等经典街机游戏。今天他们公布了全新的迷你街机:EgretI...
- 一周热门
- 最近发表
- 标签列表
-
- HTML 简介 (30)
- HTML 响应式设计 (31)
- HTML URL 编码 (32)
- HTML Web 服务器 (31)
- HTML 表单属性 (32)
- HTML 音频 (31)
- HTML5 支持 (33)
- HTML API (36)
- HTML 总结 (32)
- HTML 全局属性 (32)
- HTML 事件 (31)
- HTML 画布 (32)
- HTTP 方法 (30)
- 键盘快捷键 (30)
- CSS 语法 (35)
- CSS 选择器 (30)
- CSS 轮廓宽度 (31)
- CSS 谷歌字体 (33)
- CSS 链接 (31)
- CSS 定位 (31)
- CSS 图片库 (32)
- CSS 图像精灵 (31)
- SVG 文本 (32)
- 时钟启动 (33)
- HTML 游戏 (34)