Third-unity3D游戏开发入门

今天首先完善了昨天的小僵尸,然后开始做火箭鼠(老师所谓“第一个丑陋的完整小游戏”hhhhh,后天继续!)任务一:接昨天小僵尸行走动作完善:昨天把小僵尸做到了一:在原地把分解动作图片连起来动,二:随鼠标点击的方向移动过去。 仍存在的问题:一:鼠标点击只是确定了移动方向而不是末位置,小僵尸会朝那个方向一直走过去“不撞南墙不停”。 二:小僵尸的头以及身体朝向不会变化,有的方向会出现“螃蟹...
摘要由CSDN通过智能技术生成

今天首先完善了昨天的小僵尸,然后开始做火箭鼠(老师所谓“第一个丑陋的完整小游戏”hhhhh,后天继续!)

任务一:接昨天小僵尸行走动作完善:

昨天把小僵尸做到了一:在原地把分解动作图片连起来动,二:随鼠标点击的方向移动过去。
仍存在的问题:一:鼠标点击只是确定了移动方向而不是末位置,小僵尸会朝那个方向一直走过去“不撞南墙不停”。
二:小僵尸的头以及身体朝向不会变化,有的方向会出现“螃蟹走”。
今天首先解决了第二个问题,利用到的新知识有弧度角度加入:(第一个问题并没有解答,要记得!)

using UnityEngine;
using System.Collections;

public class weizhi : MonoBehaviour {

    public float movespeed; // this is units
    public float turnspeed; // move your head 
    private Vector3 moveDirection;
    // Use this for initialization
    void Start () 
    {
        moveDirection = Vector3.right;
    }

    // Update is called once per frame
    void Update () {
        Vector3 currentPostion = transform.position;
        if(Input.GetButton("Fire1")) //自己改为方向键操控
        {   Vector3 moveToward = Camera.main.ScreenToWorldPoint(Input.mousePosition);//主摄像机view
            moveDirection = moveToward - currentPostion; //
            moveDirection.z = 0;  //because of 2D
            moveDirection.Normalize();  //all move
        }
        Vector3 targetPosition = currentPostion + moveDirection;// * movespeed;
        transform.position = Vector3.Lerp(currentPostion,
                                          targetPosition,
                                          Time.deltaTime); //Lerp:差值(zhi (jia zhi)) let it stop some
        float targetAngle = Mathf.Atan2(moveDirection.y,
                                        moveDirection.x) * Mathf.Rad2Deg;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值