目录

39、铲子的资源导入

​测试


39、铲子的资源导入

铲子资源导入
新建铲子和铲子背景物体
在Shovel下添加脚本
添加代码为:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
public class Shovel : MonoBehaviour,IPointerClickHandler,IPointerEnterHandler,IPointerExitHandler
{private Transform shovelImg;// 是否在使用铲子中private bool isShovel;public bool IsShovel{get => isShovel;set{isShovel = value;// 需要铲除植物if (isShovel){shovelImg.localRotation = Quaternion.Euler(0,0,45);}// 把铲子放回去else{shovelImg.localRotation = Quaternion.Euler(0,0,0);shovelImg.transform.position = transform.position;}}}private void Start(){shovelImg = transform.Find("Image");}private void Update(){if (IsShovel){shovelImg.position = Input.mousePosition;// 点击鼠标左键判断是否要铲除植物if (Input.GetMouseButtonDown(0)){Grid grid = GridManager.instance.GetGridByMouse();// 如果获取网格上没有植物则returnif (grid.CurrPlantBase == null) return;// 如果鼠标离植物的距离小于1.5f,则铲除这个植物if (Vector2.Distance(Camera.main.ScreenToWorldPoint(Input.mousePosition),grid.CurrPlantBase.transform.position) < 1.5f){grid.CurrPlantBase.Dead();IsShovel = false;}}// 点击鼠标右键取消铲子选中状态if (Input.GetMouseButtonDown(1)){IsShovel = false;}}}// 鼠标进入public void OnPointerEnter(PointerEventData eventData){shovelImg.transform.localScale = new Vector2(1.4f, 1.4f);}// 鼠标退出public void OnPointerExit(PointerEventData eventData){shovelImg.transform.localScale = new Vector2(1f, 1f);}// 鼠标点击public void OnPointerClick(PointerEventData eventData){// 如果需要铲植物if (!IsShovel){IsShovel = true;}}
}
其中获取网格,是根据鼠标获取的,而网格管理器中,只写了通过世界坐标获得网格,所以添加代码
然后处理一下bug

测试

【Unity植物大战僵尸】铲除植物的铲子开发(二十一)相关推荐

  1. 【Unity植物大战僵尸】音效管理器开发(二十四)

    42.音效管理器开发 导入资源 整理一下GameManager.cs,因为这个脚本要在两个场景中都共用,所以需要把CurrLV相关的移植到LVManager.cs中去,这里就不显示了,说下如何共用,首 ...

  2. 【Unity植物大战僵尸】关卡管理器开发(中)(二十)

    目录 37.关卡管理器中僵尸刷新完善 测试 38.关卡管理器天数和波数开发 37.关卡管理器中僵尸刷新完善 导入资源 然后创建2d图像,将第一个LVStartUIEF(1).png放进去,然后加入动画 ...

  3. Unity 植物大战僵尸(一)

    Unity 植物大战僵尸(一) 该项目是按照https://www.bilibili.com/video/BV1FA411j7ug?p=1来进行制作的,如有侵权请联系我删除. 一.场景配置以及向日葵阳 ...

  4. Unity植物大战僵尸游戏素材+源码

    Unity 3D 是目前主流的游戏开发引擎,有数据显示,全球最赚钱的 1000 款手机游戏中,有 30% 是使用 Unity 3D 开发出来的.尤其在 VR 设备中,Unity 3D 游戏开发引擎具有 ...

  5. unity 植物大战僵尸怎么做

    Unity 是一款著名的游戏引擎,在其中可以制作各种不同类型的游戏.要制作<植物大战僵尸>这样的游戏,你需要学习 Unity 的使用方法,并了解游戏开发的基本知识. 首先,你需要学习如何在 ...

  6. Pygame学习之路 - 植物大战僵尸(三) 植物的放置

    注:这个系列文章的全部内容里面包含自己写的一些思路,难免会有时候同一个文章中需要多次修改代码的情况,但是编程就是这样(个人觉得)在修改中不断的完善代码,慢慢解决bug,最后的效果我虽然不清楚能不能完全 ...

  7. java植物大战僵尸_植物大战僵尸java游戏

    [实例简介] 植物大战僵尸java游戏植物大战僵尸java游戏植物大战僵尸java游戏 [实例截图] [核心代码] baisixue19870221_10036231 └── 植物大战僵尸 ├── p ...

  8. python制作植物大战僵尸_Python植物大战僵尸

    植物大战僵尸 1. 引入需要的模块,配置图片的路径,设置界面宽高背景颜色.创建游戏主入口 #1引入需要的模块 import pygame import random #1配置图片地址 IMAGE_PA ...

  9. SQL2K数据库开发二十一之索引操作创建索引

    1.在企业管理器中,右击要创建索引的表.在弹出的菜单中选择"所有任务"下的"管理索引"命令. 2.在管理索引的窗口中显示了表中已有的索引,点击"新建& ...

最新文章

  1. 【Mybatis】sqlSessionTemplate.getConnection() 遇到 java.sql.SQLException: Connection is closed
  2. margin塌陷问题
  3. 课时105.边框属性下(掌握)
  4. 科普一下人工智能领域的研究方向
  5. Apache Flink 进阶入门(二):Time 深度解析
  6. vue router 的两种路由模式hash与history的区别
  7. tensor转换为图片_pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换
  8. 高性能极致用户体验前端开发实战
  9. 计算机组策略怎么设置远程桌面,如何利用组策略编辑器对远程桌面进行管理
  10. 区分 J2SE 和 J2EE
  11. 一个平凡的人--简介
  12. java后台好学吗_java好学吗?java是不是最难学的语言?
  13. 給windowsXP穿上Linux Ubuntu的漂亮馬甲 1
  14. OFDM载波间隔_5G NR的空口技术。为什么子载波间隔越大,符号长度越小?
  15. 计算机超级工作站,【八核高性能计算超级计算机CAECADCAM有限元超级工作站】.docx...
  16. MTP 模式 pc端文件和文件管理其中的不同步
  17. 5个常用的上传图片进行搜索的网站
  18. 震惊!催眠居然可以这么简单!
  19. 毕设做好了,论文怎么办?关于论文我不得不说的几个问题
  20. 无线射频模组生产测试的流程

热门文章

  1. 恢复 Windows 10 系统 WIN + X 菜单控制面板项
  2. 程序员2014年展望未来的八个小提示
  3. android Linux cat 命令
  4. 在Microsoft Excel中如何统计字符数
  5. 1947-08-21 00:00:00从数据库返回到前台为何少了一个小时
  6. OpenCascade与三角剖分 笔记
  7. 基于easyX制作的C语言小游戏
  8. Android wpa_supplicant源码分析--bss扫描结果
  9. golang telnet 端口 查看端口是否连通
  10. arm linux imx6u移植goahead web服务器