Unity 2D 效应器与来回移动的实现
1.效应器
Point Effector 2D: 点效应器。进入区域,吸引或排斥物体
Area Effector 2D: 区域效应器,可以用来做马里奥的管道移动效果
Surface Effector 2D :表面效应器。实现传送带效果
PlatForm Effector 2D:平台效应器。实现2D游戏里面的台阶效果
2.控制移动
// Update is called once per frame
void Update () {
if (Input.GetKey(KeyCode.A))
{
MoveLeft();
}
if (Input.GetKey(KeyCode.D))
{
MoveRight();
}
if (Input.GetKeyDown(KeyCode.Space))
{
Jump();
}
}
void MoveLeft()
{
var v = rgbd.velocity;
v.x = -movespeed;
rgbd.velocity = v;
//gameObject.GetComponent<Rigidbody2D>().AddForce(Vector2.left * movespeed, ForceMode2D.Force);
} void MoveRight()
{
var v = rgbd.velocity;
v.x = movespeed;
rgbd.velocity = v;
//gameObject.GetComponent<Rigidbody2D>().AddForce(Vector2.right * movespeed, ForceMode2D.Force);
} public void Jump()
{
if (isground)
{
gameObject.GetComponent<Rigidbody2D>().AddForce(Vector2.up * jumpspeed, ForceMode2D.Impulse);
isground = false;
} }
3.敌人来回移动
using System.Collections;
using System.Collections.Generic;
using UnityEngine; public class laihui : MonoBehaviour { public float movespeed=3.0f;
private Vector2 currentposition;
public float distnation=10.0f;
private int face = ; // Use this for initialization
void Start () {
currentposition = gameObject.transform.position;
} // Update is called once per frame
void Update () {
if (face == )
{
gameObject.transform.Translate(Vector2.right * movespeed * Time.deltaTime);
}
if (face == )
{
gameObject.transform.Translate(Vector2.left * movespeed * Time.deltaTime);
}
if (gameObject.transform.position.x > currentposition.x+distnation)
{
face = ;
}
if (gameObject.transform.position.x < currentposition.x)
{
face = ;
}
}
}
Unity 2D 效应器与来回移动的实现的更多相关文章
- unity 2d 和 NGUI layer
http://blog.csdn.net/xtxy/article/details/37876825 在使用unity2d开发游戏的时候,使用了NGUI作为界面,本来二者配合得还挺好,但是一个使用场景 ...
- Ubuntu 11.10 安装GMONE3,卸载 UNITY和UNITY 2D
Ubuntu 11.10安装GNOME3: 1)sudo apt-get install gnome-shell sudo apt-get install gnome-themes* (或者 ...
- Mastering Unity 2D Game Development
Mastering Unity 2D Game Development will give your game development skills a boost and help you begi ...
- Unity 2D游戏开发教程之精灵的死亡和重生
Unity 2D游戏开发教程之精灵的死亡和重生 精灵的死亡和重生 目前为止,游戏项目里的精灵只有Idle和Walking这两种状态.也就是说,无论精灵在游戏里做什么,它都不会进入其它的状态,如死亡.于 ...
- Unity 2D游戏开发教程之摄像头追踪功能
Unity 2D游戏开发教程之摄像头追踪功能 上一章,我们创建了一个简单的2D游戏.此游戏中的精灵有3个状态:idle.left和right.这看起来确实很酷!但是仅有的3个状态却限制了精灵的能力,以 ...
- Unity 2D游戏开发教程之2D游戏的运行效果
Unity 2D游戏开发教程之2D游戏的运行效果 2D游戏的运行效果 本章前前后后使用了很多节的篇幅,到底实现了怎样的一个游戏运行效果呢?或者说,游戏中的精灵会不会如我们所想的那样运行呢?关于这些疑问 ...
- Unity 2D游戏开发教程之使用脚本实现游戏逻辑
Unity 2D游戏开发教程之使用脚本实现游戏逻辑 使用脚本实现游戏逻辑 通过上一节的操作,我们不仅创建了精灵的动画,还设置了动画的过渡条件,最终使得精灵得以按照我们的意愿,进入我们所指定的动画状态. ...
- Unity 2D游戏开发教程之游戏精灵的开火状态
Unity 2D游戏开发教程之游戏精灵的开火状态 精灵的开火状态 “开火”就是发射子弹的意思,在战争类型的电影或者电视剧中,主角们就爱这么说!本节打算为精灵添加发射子弹的能力.因为本游戏在后面会引入敌 ...
- Unity 2D游戏开发教程之游戏中精灵的跳跃状态
Unity 2D游戏开发教程之游戏中精灵的跳跃状态 精灵的跳跃状态 为了让游戏中的精灵有更大的活动范围,上一节为游戏场景添加了多个地面,于是精灵可以从高的地面移动到低的地面处,如图2-14所示.但是却 ...
随机推荐
- Python json序列化
Python内置的json模块提供了非常完善的对象到JSON格式的转换.废话不多说,我们先看看如何把Python对象变成一个JSON: d = dict(name='Kaven', age=17, s ...
- css对齐方案总结
css对齐方案总结 垂直居中 通用布局方式(内敛元素和块状元素都适用) 利用flex:核心代码: 12345 .container{ display:flex; flex-direction:colu ...
- Github排序(转载)
目录 1. 冒泡排序 2. 选择排序 3. 插入排序 4. 希尔排序 5. 归并排序 6. 快速排序 7. 堆排序 8. 计数排序 9. 桶排序 10. 基数排序 参考:https://mp.weix ...
- C++基础——类封装简单示例
一.前言 在IC前端设计/验证领域,只会HDL远远不够.目前大多数项目使用已开发好的系统架构和IP Core,因此设计部分的工作量慢慢向系统集成和验证方向转移.而在集成和验证过程中,往往以各种脚本和面 ...
- vi/vim 添加或删除多行注释
进入vi/vim编辑器,按CTRL+V进入可视化模式(VISUAL BLOCK) 移动光标上移或者下移,选中多行的开头,如下图所示 选择完毕后,按大写的的I键,此时下方会提示进入“inser ...
- ASP.NET Core 中断请求了解一下(翻译)
ASP.NET Core知多少系列:总体介绍及目录 本文所讲方式仅适用于托管在Kestrel Server中的应用.如果托管在IIS和IIS Express上时,ASP.NET Core Module ...
- kubernetes 客户端KubeClient使用及常用api
KubeClient是kubernetes 的C#语言客户端简单易用,KubeClient是.NET Core(目标netstandard1.4)的可扩展Kubernetes API客户端, gith ...
- 【RL-TCPnet网络教程】第41章 HTTP超文本传输协议基础知识
第41章 HTTP超文本传输协议基础知识 本章节为大家讲解HTTP(HyperText Transfer Protocol,超文本传输协议),从本章节开始,正式进入嵌入式Web的设计和学习. ...
- Android 音视频同步机制
一.概述 音视频同步(avsync),是影响多媒体应用体验质量的一个重要因素.而我们在看到音视频同步的时候,最先想到的就是对齐两者的pts,但是实际使用中的各类播放器,其音视频同步机制都比这些复杂的多 ...
- C#常见金额优选类型及其三种常用的取整方式
这两天一直在做一个商城后台的对账方面的工作,忽然发现C#真的有很多值的学习的东西: 一.C#常用的三种取整方式(主要适用于double.decimal.float这一类型的数据): Math.Roun ...