英雄联盟怎么移动人物,【6.Physics和动画】9.场景间的跳转
导读英雄联盟怎么移动人物,9.场景间的跳转9.1 场景跳转Unity 的游戏画面是通过场景来组织的。比如一个游戏会具有如下场景:主题场景菜单场景游戏场景通关场景结束场景这些场景共同组成了一个游戏。从一个场景跳转到另一个场景需要指定相应的场景名称。9.2 创建游戏的通...
9.场景间的跳转
9.1 场景跳转
Unity 的游戏画面是通过场景来组织的。比如一个游戏会具有如下场景:
主题场景
菜单场景
游戏场景
通关场景
结束场景
这些场景共同组成了一个游戏。从一个场景跳转到另一个场景需要指定相应的场景名称。
9.2 创建游戏的通关场景
在前面的几节中,我们的游戏只有游戏场景,没有其他场景,根据本游戏的功能设计,需要增加通关场景。接下来,我们增加通关场景。
将当前游戏场景保存后,选择 File -> New Scene 创建新场景,然后选择 File -> Save Scene as ,在弹出的界面中输入 EndScene 并保存。
在工程窗口中选择通关图片并拖拽到该场景中,在检视器窗口中将 Transform 项的 Position 的 X、Y、Z 均设置为 0 。
单击运行按钮,查看当前场景效果。
9.3 跳转到通关场景
当角色与旗帜发生碰撞时表示游戏结束,需要跳转到通关场景,我们可以在角色控制器中通过代码来实现,在角色控制器中,将碰撞检测事件 OnTriggerEnter2D 代码修改如下:
void OnTriggerEnter2D(Collider2D other) { SceneManager.LoadScene("EndScene"); Debug.Log("您已经到达目的地!"); }
注意:使用 SceneManager 需要引入:
using UnityEngine.SceneManagement;
启动游戏检查效果。此时,我们发现在游戏运行到最后没有跳转到通关场景,检测控制台,发现如下异常:
Scene 'EndScene' couldn't be loaded because it has not been added to the build settings or the AssetBundle has not been loaded.To add a scene to the build settings use the menu File->Build Settings...UnityEngine.SceneManagement.SceneManager:LoadScene(String)PlayerController:OnTriggerEnter2D(Collider2D) (at Assets/PlayerController.cs:51)
异常中提示要通过 File->Build Settings... 进行设置。这是因为通关场景没有被注册到 Unity 中,场景跳转时,场景必须先注册到 Unity 中。
9.4 注册场景
在菜单中选择 File -> Build Settings...,在 Build Settings... 界面中,从工程窗口中将场景拖拽到 Scene In Build 中,然后调整场景的顺序,场景的右侧显示 0、1 编号,游戏启动时将从 0 号场景启动,所以,调整场景序号,让 GameScene 序号为 0 ,EndScene 序号为 1。
再次启动游戏,看看效果。
9.5 从通关场景跳转到游戏场景
当游戏结束后,游戏画面位于通关场景,此时我们希望当单击后游戏重新开始,我们可以通过控制器来实现,创建控制器 EndController,并编写脚本如下:
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.SceneManagement;public class EndController : MonoBehaviour{ // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { if (Input.GetMouseButtonDown(0)) SceneManager.LoadScene("GameScene"); }}
在通关场景中创建一个空对象并挂载脚本,场景视图切换回游戏场景,然后启动游戏看看吧。
9.6 解决游戏中的问题
这个游戏在玩的过程中发现有一些问题:
跳跃过程中可以连续多次跳跃;
角色掉到画面以外的时候会一直下落;
第一个问题在角色控制器中检查角色的速度,如果在 y 方向的速度为 0 则可以跳跃,y 方向的速度可以通过 Rigidbody 组件的 velocity.y 来获取;第二个问题可以通过在角色控制器中检查角色的 y 坐标,当 y 坐标小于 -10 时,让场景回到最初的状态。
所以,对角色控制器脚本修改为:
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.SceneManagement;public class PlayerController : MonoBehaviour{ Rigidbody2D rigid2d; float jumpForce = 850.0f; float moveForce = 270.0f; float maxSpeed = 2.0f; Animator animator; // Start is called before the first frame update void Start() { rigid2d = GetComponent<Rigidbody2D>(); animator = GetComponent<Animator>(); } // Update is called once per frame void Update() { // 跳跃 if (Input.GetKeyDown(KeyCode.Space) && rigid2d.velocity.y == 0) rigid2d.AddForce(transform.up * jumpForce); // 左右移动 int key = 0; if (Input.GetKeyDown(KeyCode.LeftArrow)) key = -1; if (Input.GetKeyDown(KeyCode.RightArrow)) key = 1; if (key != 0) Debug.Log(key); // 获取角色的移动速度 float currentSpeed = Mathf.Abs(rigid2d.velocity.x); if (key != 0 && currentSpeed < maxSpeed) { // Debug.Log(currentSpeed); rigid2d.AddForce(transform.right * key * moveForce); } // 角色朝向 if (key != 0) transform.localScale = new Vector3(key, 1, 1); // 动画部分速度 animator.speed = currentSpeed / 2.0f; // 回到最初状态 if (transform.position.y < -10) SceneManager.LoadScene("GameScene"); } // 碰撞检测 void OnTriggerEnter2D(Collider2D other) { SceneManager.LoadScene("EndScene"); Debug.Log("您已经到达目的地!"); }}
在上面的代码中,跳跃时增加了 rigid2d.velocity.y == 0 来检查角色的速度,在 Update 方法的最后,增加了 if (transform.position.y < -10) SceneManager.LoadScene("GameScene"); 来处理角色一直掉落。
英雄联盟怎么移动人物,上线不到2个月,游戏就大换血!是吃鸡不香了还是外挂能力太强?
大家好,我是X博士。各位还记得前段时间开启抢先体验的超能力吃鸡端游《超击突破》吗?最近他们又要开始搞事情了。据悉,在12月12日的新版本中,《超击突破》将会进行一场“大变革”式的更新。不仅要革新游戏的核心卖点“超能力”,甚至还有删除此前颇为...
英雄联盟怎么移动人物,腾讯网易好好学学?刚曝光就敢放实机,生怕玩家以为它是画大饼
大家好,我是X博士。不久前,女频大厂叠纸突然一改往日只沉溺于帅哥美女的传统XP,公布了一款看起来相当硬核的开放世界打铁游戏《百面千相》。而无论是预告片中展示的游戏水准,还是乙女厂商极其强烈的反差印象,都带给了玩家不小的冲击,也引起了玩家间的...
为什么最近几乎全B站的LOL主播都在被锤开挂?(英雄联盟怎么移动人物)
阿蒙 | 文《英雄联盟》半个月前结束了S12的赛程进入休赛期,常规的联赛冬季转会期还没开始,本赛区观众们因此迎来了全年最无聊的几个月。在这种闲出屁来的日子里,任何的风吹草动都会惹来大量乐子人的吃瓜。比如说,某位知名主播疑似开挂。图源水印B站...
萌新速看!满满干货~(英雄联盟怎么移动人物)
本文首发【荒野攻略组】公众号,未经授权禁止“抄袭文章”转载至其它平台hello,各位荒野乱斗的斗士们大家下午好,我是你们的小编DD,今天小编想给大家“讲解一下”荒野乱斗的基础玩法讲解,很适合小白看的哦!跟着小编一起往下看看吧一.荒野大乱斗是...
英雄联盟怎么移动人物,王者荣耀最受欢迎的娱乐模式是哪个?玩家直呼真好玩
王者荣耀这款游戏已经陪伴玩家们走了许久,在此期间官方不断增添游戏内容,除了紧张刺激的排位赛之外还有各色不同的娱乐模式可供选择,觉醒之战正是深受玩家们喜爱的模式之一。在这个模式下玩家们不仅能够享受到不同英雄加强后的魅力,超强的视觉冲击更是让玩...
WHISKY L! 2022全剧透!超实用操作指南【线上篇】(英雄联盟怎么移动人物)
第十四届WHISKY L! 烈酒盛会,首届元宇宙线上体验,一个完整且触手可得的烈酒嘉年华,WHISKY L! 2022火热进行中!超过200+知名品牌邂逅1000+高端洋酒全新的3D手游体验量身定制的展位互动不输线下的精彩互动更别说还有珍稀...
英雄联盟怎么移动人物,《大侠立志传》图文攻略 上手指南及开局攻略
《大侠立志传》图文攻略,上手指南及开局攻略(含“系统解析”“人物加点/武器/特征/道具”“初期流程/选择”)。《大侠立志传》是一款开放世界武侠RPG游戏,更是一款像素版江湖生存模拟器,玩家站在一个初出茅庐的市井小人物视角,从江湖底层摸爬滚打...
英雄联盟怎么移动人物,漫迷福利,看DC和漫威如何“相爱相杀”
忽然间,我意识到,我创造的这个角色是参孙(Samson)、海格力斯(Hercules)及所有那些大力神的合体——甚至比他们更强。[1]——杰里·西格尔,《超人》的创作者你如果有幸在20世纪60年代造访DC的办公楼,有极大可能会以为自己误闯了...
三国战纪风云再起,基础操作介绍(英雄联盟怎么移动人物)
本篇介绍的,就是最基础的游戏操作,包含角色的移动与功能指令。除此之外,还有一些使用时的细节说明。希望不管是老手新手,都能从中有所收获。按键对应功能:<方向键>↑,向上移动↓,向下移动←,向左移动→,向右移动<功能键>...
- 1定价4.59元!七年来银行业首单配股花落江苏银行,业务发展迎来新引擎(配股如何定价交易)
- 2配股如何定价交易,国海证券确定配股发行价格为3.25元/股
- 3城发环境—投资者提问:“请问配股价怎么定的”(配股如何定价交易)
- 4配股如何定价交易,融资融券标的扩容为哪般
- 5配股价14.43元!中信证券将于19日起进行配股,“航母级”券商整装待发?(配股如何定价交易)
- 68万户股东注意了!隆基股份今起配股缴款,正确姿势看这里(配股如何定价交易)
- 7贵研铂业(600459.SH)拟“10配3”实施配股:定价10.91元/股 股权登记日为12月13日(配股如何定价交易)
- 8配股如何定价交易,2022.1.14—盘前研判—中信证券配股融资不看好的考虑卖出
- 9大手笔配股募资80亿获批,业绩预增八成的红塔证券仍挡不住股价“腰斩”(配股如何定价交易)
发表观点(0条)