复制场景

可以沿用start的场景,删除Logo和按钮即可
通过command+D复制start修改名字

添加水波纹

创建一个3D的plane

先将plane清零,取出碰撞体,坐标不是固定的,由实际情况而定,将plane放在镜头和Main Camera之间,让plane将其挡住

为其拖一个水波纹的材质,对图片进行特殊处理,但是是静态的,需要脚本让其跑起来

效果图

Ef_WaterWave.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Ef_WaterWave : MonoBehaviour {// 材质public Material material;// 材质里面的图片数组public Texture[] textures;// 当前已经放到图片的编号private int index = 0;void Start () {// 获取当前plane的材质material = GetComponent<MeshRenderer>().material;// 因为Update是按照一帧一帧计算的,太快了所以使用InvokeRepeating// p1:方法名 p2:时间间隔 p3:速率InvokeRepeating("changeText", 0, 0.1f);}// 切换材质里图片的函数void changeText(){// 主材质里的索引图material.mainTexture = textures[index];// index按照textures长度循坏index = (index + 1) % textures.Length;}void Update () {}
}

给plane挂上脚本,再赋值

返回按钮

创建一个新的Canvas,让其Order in Layer为90,即这个Canvas里的所有控件都在默认层下,次序为90

在新的Canvas中创建返回按钮

同样的方法创建一个设置按钮,创建一个空项目对他们进行分类,空项目的锚点要用按住option的右下角的那个

倒计时

等级


填充物


然后再调整填充物和被填充的尺寸

取消滑动条的可交互,不然用户可以更改经验值

炮台

底座

炮的组装

杂七杂八最终显示效果如图

炮随鼠标转动


要让中间的那根轴和鼠标一起转动
在API中找到一个方法

public static bool ScreenPointToWorldPointInRectangle(RectTransform rect, Vector2 screenPoint, Camera cam, out Vector3 worldPoint); 

返回鼠标在当前Canvas的坐标

为炮台旋转写的脚本GunFollow.cs

public class GunFollow : MonoBehaviour {// 枪在Canvas中,需要取到Canvaspublic RectTransform UGUICanvas;// 方法需要传入Camera,可以用Camera.main代替,但是有多个Camera可能会出现问题public Camera mainCamera;void Start () {}void Update () {// 方法返回的计算好的值,鼠标在当前Canvas的坐标Vector3 mousePost;RectTransformUtility.ScreenPointToWorldPointInRectangle(UGUICanvas,new Vector2(Input.mousePosition.x, Input.mousePosition.y),mainCamera,out mousePost);// 获得旋转的角度float z;// 判断鼠标在炮台的左方还是右方if (mousePost.x > transform.position.x){// 返回的永远是正值,右边的角度是负值,所以要变号z = -Vector3.Angle(Vector3.up, mousePost - transform.position);}else{z = Vector3.Angle(Vector3.up, mousePost - transform.position);}// Quaternion四元数,localRotation只接受四元数// Quaternion.Euler:欧拉角对应的四元数transform.localRotation = Quaternion.Euler(0, 0, z);}
}

Unity-3D捕鱼达人小游戏开发 —— 游戏中场景相关推荐

  1. H5 canvas基础入门到捕鱼达人小游戏实现(1)

    为什么学习canvas? 看见别人网页一些非常炫酷的效果,羡慕不已,于是对canvas产生了浓厚的兴趣,所以想仔细学习学习canvas.下面就一起来学习吧,本文为系列文章,最后会编写一个简单版的捕鱼达 ...

  2. 基于c语言Easyx库的捕鱼达人小游戏

    基于c语言Easyx库的捕鱼达人小游戏(一) 文章目录 基于c语言Easyx库的捕鱼达人小游戏(一) 主菜单 游戏实现 捕鱼计分 下一阶段 主菜单 (写在前面的话:使用EASY-X库一定要命名为.cp ...

  3. 捕鱼达人小游戏——Java实现

    一.捕鱼达人小游戏,界面如下图: 二.有需要的代码自取: 链接:https://pan.baidu.com/s/1s5G2DwfSMlHoE4STanjKyw 提取码:evbg

  4. html实现经典捕鱼达人小游戏

    文章目录 1.设计来源 1.1 游戏界面 2.效果和源码 2.1 动态效果 2.2 源代码 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_4315 ...

  5. 1.15 从0开始学习Unity游戏开发--游戏UI

    上一章中,我们剩下最后一个任务,需要支持鼠标控制准心来进行设计,那么准心本质上就是一个始终呈现在屏幕上的一个图片,你当然可以用一个3D物体来制作,之前讲解渲染概念的时候也提到过,我们的屏幕就是相机的近 ...

  6. H5数独游戏开发——游戏通关及重玩

    如何判断游戏是否通关?通关后如何重新开始游戏,让用户重玩?今天给大家详细介绍如何实现以上功能.先看一下数独游戏通关后的提示界面,截图如下: 首先,我们需要判断游戏是否通关,那么如何判断呢?有两个条件: ...

  7. H5数独游戏开发——游戏中的事件处理

    假设你正在玩一款角色扮演游戏(RPG),主角走进了一家店铺,你用鼠标点击店铺里管家,这时屏幕显示一个待售物品菜单,然后你可以选购你需要的物品.那么,你知道从你点击鼠标的那一刻起,游戏是怎样响应的吗?让 ...

  8. Android游戏开发–游戏循环

    游戏循环是每个游戏的心跳. 到目前为止,我们仅使用了非常简单的一种(您可以在此处找到),无法控制我们更新游戏状态的速度或速度以及要渲染的帧. 概括地说,最基本的游戏循环是while循环,该循环一直执行 ...

  9. android_Android游戏开发–游戏循环

    android 游戏循环是每个游戏的心跳. 到目前为止,我们使用的是非常简单的游戏(您可以在此处找到),无法控制我们更新游戏状态的速度或速度以及要渲染的帧. 概括地说,最基本的游戏循环是while循环 ...

  10. android游戏开发_Android游戏开发–游戏循环

    android游戏开发 游戏循环是每个游戏的心跳. 到目前为止,我们仅使用了非常简单的一种(您可以在此处找到),无法控制我们更新游戏状态的速度或速度以及要渲染的帧. 概括地说,最基本的游戏循环是whi ...

最新文章

  1. lamp不解析php,LAMP环境下不能解析php原因及排查步骤
  2. python中各操作符的优先级_在Python中实现操作符优先级的一般方法是什么
  3. Java中常见数据结构Map之HashMap
  4. Android 学习笔记 BroadcastReceiver广播...
  5. 搜狗拼音输入法的安装和基本使用
  6. 验证Oracle收集统计信息参数granularity数据分析的力度
  7. GeneralUpdate 2021.08.14更新公告
  8. C和指针之数组编程练习5 (矩阵相乘)
  9. 欢乐纪中A组周六赛【2019.5.25】
  10. EasyUI权限(二星权限)
  11. RestTemplate的异常 Not enough variables available to expand
  12. ORACLE 常用函数——转换函数
  13. Java 设计模式 Adapter 类适配器 模式
  14. 来兄弟连了,你还在用面向过程唱高音歌曲的你就OUT了
  15. 抱抱脸(hugging face)教程-中文翻译-使用 Tokenizers 的 tokenizers
  16. excel填充序列_表格技巧—Excel表格中如何一键下拉填充
  17. 普通人应该怎么赚钱,下班后可在家操作的四个兼职副业分享
  18. 我给互联网大佬们换上了女装
  19. 对JVM还一知半解?这篇文章让你彻底搞定JVM
  20. 网狐、6878子游戏下载失败

热门文章

  1. Flink Forward Asia 2019 | 总结和展望(附PPT)
  2. 【MATLAB教程案例81】matlab在大学数学中的应用——线性代数
  3. Web实现:装饰鼠标箭头
  4. 2023年HCIA-Cloud Service V3.0 H13-811(最新考试题库200题)
  5. 用python祝福父亲节_送给爸爸的祝福语
  6. 【转】系统安全的最小特权原则
  7. 【CATIA】—3DE高科技案例研究V-ZUG | 达索系统百世慧®
  8. 《人人都是产品经理》——总记
  9. 【题解】LuoGu4422:Deda
  10. Wavemaker和 apache cordova混合开发