25777人加入学习
(149人评价)
Unity2D 初级案例 - 坦克大战(Unity2017.1)

制作于2017年12月23日

价格 免费

Input.GetAxisRaw("Hrizantal")和Inpit.GetAxis("Hrizantal")他们没有区别

[展开全文]

PlayerMove  Script:

publix float moveSpeed=3;//定义速度

void Start(){

 

}

void Update(){

    float h = Input.GetAxisRam("Horizontal");

transform.Translate(Vector3.right*h*moveSpeed*Time.deltaTime,Space.World);

float v = Input.GetAxisRam("Vertical");

transform.Translate(Vector3.up*v*moveSpeed*Time.deltaTime,Space.World);

}

[展开全文]

x轴:vector3.right

y轴:vector3.up

float h = Input.GetAxis("Horizontal");
transform.Translate(Vector3.right * h * moveSpeed * Time.deltaTime, Space.World);
//三维向量,方向×按键输入×移动速度×按时间运动(每秒10米而不是每桢10米),空间为整个空间。


float v = Input.GetAxis("Vertical");
transform.Translate(Vector3.up * v * moveSpeed * Time.deltaTime, Space.World);
//三维向量,方向×按键输入×移动速度×按时间运动,空间为整个空间。

 

[展开全文]

控制玩家移动

加载之后再操作

给player 加一个脚本

监听玩家输入的两个float 变量 水平轴 垂直轴

(字符串识别)

tarnsform 用translate 移动 x轴正方向/y轴正方向

h 返回值 1与-1 实现双向移动

定义速度  movespeed 初始值先定个3

(方向*速度*Time.deltaTime(按秒移动而不是按帧移动),Space.World(按世界坐标轴移动));

 

[展开全文]

float h=input.getAxisRaw("Hirzontal");

//水平轴输入

float v=input.GetAxisRaw("Vertical");

//垂直轴输入

transform.Translate(vector3.right*h*Player_Movespeed*Time.delteTime,Space.World);

 

transform.Translate(Vector3.up*v*player_MoveSpeed,Space.World);

[展开全文]

GetAxis()与GetAxisRow();相似

Time.deltaTime:按照每秒移动

Space.World:世界坐标轴;

float h=Input.GetAxisRow("Horizontal")

transform.Translate(Vector3.Right*h )

//h返回值1到-1的float类型的小数;

float v=Input.GetAxisRow("Vertical")

transform.Translate(Vector3.up*h)

 

[展开全文]

public float moveSpeed = 3;  //移动速度

 


        transform.Translate(Vector3.right(横向X)*h(获取键盘方向)*moveSpeed(移动速度)*Time.deltaTime(帧率),Space.World(按照世界方向轴移动));


        transform.Translate(Vector3(纵向Y).up*v(获取键盘方向)*moveSpeed*Time.deltaTime(帧率),Space.World(按照世界方向轴移动));

[展开全文]

public float moveSpeed = 3;

 

float h = Input.GetAxisRaw("Horizontal");

transform.Translate(Vector3.right*h*moveSpeed*Time.deltaTime,Space.World);

float v = Input.GetAxisRaw("Vertical");

transform.Translate(Vector3.up*v*moveSpeed*Time.deltaTime,Space.World);

[展开全文]

public float movespeed=3;

    // Use this for initialization
    void Start () {
        
    }
    
    // Update is called once per frame
    void Update () {
        float h = Input.GetAxisRaw("Horizontal");
        transform.Translate(Vector3.right*h*movespeed*Time.deltaTime,Space.World );
        float v = Input.GetAxisRaw("Vertical");
        transform.Translate(Vector3.up*v*movespeed*Time.deltaTime ,Space.World);
 

[展开全文]

 

新建文件夹:Scripts 存放脚本

找到组件,添加脚本

1. Add Compoment

 

打开脚本编辑:

1. ⚙️/edit

2. 双击小方框

3. 双击文件

 

[展开全文]

监听输入方向:input.getaxisraw("水平轴or垂直轴")

预设初速speed;

 

[展开全文]

移动代码:

void Update(){

float h=Input.GetAxisRaw("Horizontal");

transform.Translate(Vector3.right*h*moveSpeed*Time.deltaTime,Space.World);

float v=Input.GetAxisRaw("Vertical");

transform.Translate(Vector3.up*v*movespeed*Time.deltaTime,Space.World);

}

[展开全文]

public float moveSpeed=3;

 

 

 

Input.GetAxisRaw("Horizantal");

transform.Translate(Vector3.right*h*moveSpeed*Time.deltaTime,Space.World);

Input,GetAxisRaw("Vertical");

transform.Translate(Vector3.right*v*moveSpeed*Time.deltaTime,Space.World);

[展开全文]
  • create folder Scripts
  • 选中左侧player,添加一个脚本,
  • add component,
  • 输入player,new cript,等下方圆圈转完
  • 双击player,打开vs

 

 

 

[展开全文]

Vector3.right(x)/up(y)/forward(z)

[展开全文]

控制玩家移动,

获得轴上的值。

GetAxisRaw 

配合 transform.Translate.没有物理效果就用这个。

方向, 坐标轴(世界)

 

[展开全文]

public float movespeed=3;

float h=Input.getaxisraw( "horzontal");

transfom.translate(vector3.right*h*movespeed*time.deltatime,space.world);

float v=Input.getaxisraw( "vertical");

transform.translate(vector3.up*v*movespeed*time.deltatime,space.world);

[展开全文]

Scripts

public float moveSpeed = 3;

float h = Input.GetAxisRaw("Horizontal");

Vertical

public float moveSpeed = 3;

transform.Translate(Vector3.right*h*moveSpeed*Time.deltaTime,Space.World);

transform.Translate(Vector3.right*h*moveSpeed*Time.deltaTime,Space.World)

[展开全文]