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 效应器与来回移动的实现的更多相关文章

  1. unity 2d 和 NGUI layer

    http://blog.csdn.net/xtxy/article/details/37876825 在使用unity2d开发游戏的时候,使用了NGUI作为界面,本来二者配合得还挺好,但是一个使用场景 ...

  2. Ubuntu 11.10 安装GMONE3,卸载 UNITY和UNITY 2D

    Ubuntu 11.10安装GNOME3: 1)sudo apt-get install gnome-shell    sudo apt-get install gnome-themes*   (或者 ...

  3. Mastering Unity 2D Game Development

    Mastering Unity 2D Game Development will give your game development skills a boost and help you begi ...

  4. Unity 2D游戏开发教程之精灵的死亡和重生

    Unity 2D游戏开发教程之精灵的死亡和重生 精灵的死亡和重生 目前为止,游戏项目里的精灵只有Idle和Walking这两种状态.也就是说,无论精灵在游戏里做什么,它都不会进入其它的状态,如死亡.于 ...

  5. Unity 2D游戏开发教程之摄像头追踪功能

    Unity 2D游戏开发教程之摄像头追踪功能 上一章,我们创建了一个简单的2D游戏.此游戏中的精灵有3个状态:idle.left和right.这看起来确实很酷!但是仅有的3个状态却限制了精灵的能力,以 ...

  6. Unity 2D游戏开发教程之2D游戏的运行效果

    Unity 2D游戏开发教程之2D游戏的运行效果 2D游戏的运行效果 本章前前后后使用了很多节的篇幅,到底实现了怎样的一个游戏运行效果呢?或者说,游戏中的精灵会不会如我们所想的那样运行呢?关于这些疑问 ...

  7. Unity 2D游戏开发教程之使用脚本实现游戏逻辑

    Unity 2D游戏开发教程之使用脚本实现游戏逻辑 使用脚本实现游戏逻辑 通过上一节的操作,我们不仅创建了精灵的动画,还设置了动画的过渡条件,最终使得精灵得以按照我们的意愿,进入我们所指定的动画状态. ...

  8. Unity 2D游戏开发教程之游戏精灵的开火状态

    Unity 2D游戏开发教程之游戏精灵的开火状态 精灵的开火状态 “开火”就是发射子弹的意思,在战争类型的电影或者电视剧中,主角们就爱这么说!本节打算为精灵添加发射子弹的能力.因为本游戏在后面会引入敌 ...

  9. Unity 2D游戏开发教程之游戏中精灵的跳跃状态

    Unity 2D游戏开发教程之游戏中精灵的跳跃状态 精灵的跳跃状态 为了让游戏中的精灵有更大的活动范围,上一节为游戏场景添加了多个地面,于是精灵可以从高的地面移动到低的地面处,如图2-14所示.但是却 ...

随机推荐

  1. 原生js查询、添加、删除类

    1.添加类 为标签添加一个class的类 如:<div id="box" class="box">内容</div> document.g ...

  2. 工厂方法模式(Factory Method Pattern)

    工厂方法模式概述 工厂方法模式是为了弥补简单工厂模式的不足并且继承它的优点而延生出的一种设计模式,属于GoF中的一种.它能更好的符合开闭原则的要求. 定义:定义了一个用于创建对象的接口,但是让子类决定 ...

  3. QT读取xml配置文件

    //获取字符串字段 QString ConfigHelper::GetStringConfigValue(QString str) { if(str == "InitDeviceNo&quo ...

  4. 基于开源CA系统ejbca community 6.3.1.1构建私有CA管理数字证书

    最后更新于2017年01月24日 一.为什么 为什么写这篇文章?ca是什么?数字证书是什么?ejbca又是什么? 让我们从http与https说起.http是超文本传输协议(HyperText Tra ...

  5. java8 日期时间之间的关系

     Class or Enum Year Month Day Hours Minutes Seconds* Zone Offset Zone ID toString Output Where Discu ...

  6. 使用 JWT 生成 Token 代码示例

    JSON Web Token,简称 JWT, 是一个开放的标准(RFC 7519),它定义了以一种紧凑的.自包含的 JSON 对象在各方之间安全传输信息的方式.该信息含有数字签名,可以被验证和信任. ...

  7. python --- 插入排序算法

    先上一张图,看看能不能从里面悟出些什么: 问题的解决思路: 就是当插入第i个的时候,前面的[i- 1]个已经排好了,这时候lst[i]就倒过来逐个和前面的关键字顺序进行比较,找到插入位置即将lst[i ...

  8. 【机器学习】--EM算法从初识到应用

    一.前述 Em算法是解决数学公式的一个算法,是一种无监督的学习. EM算法是一种解决存在隐含变量优化问题的有效方法.EM算法是期望极大(Expectation Maximization)算法的简称,E ...

  9. ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)解决办法

    一,报错原因及分析 mysql的这个报错的原因是mysql服务没有正确启动就是mysqld这个程序. mysql要想运行需要mysql和mysqld两个都启动才行 二,解决办法 右键我的电脑——> ...

  10. 装箱问题的CPLEX求解

    装箱问题(Bin Packing Problem) 装箱问题即搬家公司问题.一个搬家公司有无限多的箱子,每个箱子的承重上限为W,当搬家公司进入一个房间时,所有物品都必须被装入箱子,每个物品的重量为wi ...