当前位置: 首页 > article >正文

unity3d—demo(2d人物左右移动发射子弹)

目录

人物代码示例:

子弹代码示例:

总结上面代码:

注意点:


人物代码示例:

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

public class PlayerTiao : MonoBehaviour
{
    public float moveSpeed = 10f;

    private float h;
    private SpriteRenderer sr;

    void Start()
    {
        sr = this.GetComponent<SpriteRenderer>();
    }

    void Update()
    {
        h = Input.GetAxis("Horizontal");

        this.transform.Translate(moveSpeed * Time.deltaTime * Vector3.right *  h);

        if(h < 0)
        {
            sr.flipX = true;
        }
        else if(h > 0)
        {
            sr.flipX = false;
        }

        if(Input.GetKeyDown(KeyCode.Space))
        {
            GameObject obj = Instantiate(Resources.Load<GameObject>("BulletObj"),this.transform.position + new Vector3(sr.flipX ? -0.3f : 0.3f,0.5f,0),Quaternion.identity);

            obj.GetComponent<Bullet>().ChangeDir(sr.flipX ? Vector3.left : Vector3.right);
        }
    }
}

子弹代码示例:

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

public class Bullet : MonoBehaviour
{
    public float moveSpeed = 5f;

    private Vector3 nowDir;

    void Start()
    {
        Destroy(this.gameObject, 3f);
    }

    public void ChangeDir(Vector3 dir)
    {
        nowDir = dir;
    }

    void Update()
    {
        this.transform.Translate(moveSpeed * Time.deltaTime * nowDir);
    }
}

总结上面代码:

this.transform.Translate(moveSpeed * Time.deltaTime * nowDir);   transform是属性 获取Transform组件  Translate是Transfor组件方法函数  

预设体 是 GameObject 类型

注意点:


http://www.kler.cn/a/429896.html

相关文章:

  • 可视化-Visualization
  • 如何使用LEADTOOLS创建.NET Core跨平台OCR应用程序
  • Scala 的正则表达式
  • 在 Vue 3 中实现点击按钮后禁止浏览器前进或后退
  • 4.STM32通信接口之SPI通信(含源码)---硬件SPI与W25Q64存储模块通信实战《精讲》
  • 【网络篇】TCP知识
  • 嵌入式驱动开发详解13(IIC驱动架构实现)
  • 掌握小程序地理位置服务插件,让用户体验再升级
  • 搭建Node.js后端
  • EasyExcel改名为FastExce做了那些改变呢
  • 【深度学习】深入解析卷积神经网络(CNNs)
  • 【语音识别】搭建本地的语音转文字系统:FunASR(离线不联网即可使用)
  • Kubernetes(K8s)
  • 从爱尔兰歌曲到莎士比亚:LSTM文本生成模型的优化之旅
  • Github 2024-12-06Java开源项目日报Top10
  • C#实现的ACCESS的增删改查基本功能
  • SVN Update 报错解决三部曲
  • CV(3)--噪声滤波和特征
  • 大数据-245 离线数仓 - 电商分析 缓慢变化维 与 拉链表 SCD Slowly Changing Dimensions
  • 项目中使用AntV L7地图(五)添加飞线
  • Linux驱动开发(12):中断子系统–按键中断实验