UNITY零基础塔防游戏开发日记day2

UNITY零基础塔防游戏开发日记day2

补充:在本人开unity之后会出现这样的报错报错
实际上这个报错的源头是安装了 Proxifier 软件导致网络错误

创建敌人行走的道路

随心选择一条道路,最好从坐标零点开始,将路径上的cube删除,再用新的cube将路连接到一起,用不同的材质加以区分道路
我们将新建的cube放进一个新的文件夹中方便管理,需要注意的是,新建的gameobject最好重置后再放入cube,后面的坐标是根据这个gameobject的相对位置,未重置后续的工作可能会比较麻烦
起点和终点我分别放了两个材质不同的cube,以便后面调用

玩家视野的移动

因为地图较大,于是我们做一个玩家能控制摄像机前后左右,放大缩小的功能
在层级中选择main camera,将角度位置调至满意的位置摄像机
接下来为main camera制作组件,点击maincamera,在检查器中的最下面新建组件ViewController,在项目中新建文件夹Scripts方便管理脚本组件,将ViewController拖入其中,双击开始编辑

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ViewControler : MonoBehaviour
{
    public float speed = 1;

    // Update is called once per frame
    void Update()
    {
        float h = Input.GetAxis("Horizontal");
        float v = Input.GetAxis("Vertical");
        transform.Translate(new Vector3(h, 0, v) *Time.deltaTime*speed);
    }
}

因为之前没接触过c#,所以还在一个个单词理解其作用
由于现在的x,z轴还是以摄像机的本身坐标为准,所以应该在transform中添加space.world
这样摄像机的移动将会以世界坐标为准
我们也想将y轴交给鼠标滚轮来管理,所以添加鼠标滚轮的变量mouse,并将y轴由0改为mouse
这时我们运行发现,鼠标的数值改变太小,不能和x,z轴共用一个速度,要重新定义一个速度变量
当然也可以重新transform一个

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ViewControler : MonoBehaviour
{
    public float speed = 1;
    public float mousespeed = 60;

    // Update is called once per frame
    void Update()
    {
        float h = Input.GetAxis("Horizontal");
        float v = Input.GetAxis("Vertical");
        float mouse = Input.GetAxis("Mouse ScrollWheel");
        transform.Translate(new Vector3(h*speed, mouse*mousespeed, v*speed) *Time.deltaTime*speed ,Space.World);
    }
}

之前不小心删掉了地板这里添加了地板,且逐个更正了地图上的每一个方块的坐标使之美观且易于操作,下面图即为现阶段成品现阶段成品图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值