Unity 捕鱼游戏开发教程与源码

效果图展示

项目分析

主要功能点:

  • 鱼的移动路线
    • 这里使用简单移动的方式:随机位置然后随机鱼直线或者每帧更新鱼的角度实现走圆形。
  • 枪随着鼠标或点击位置移动
    • 这个用坐标转换参考代码
    •  private void Update(){Vector3 mousePos; // 鼠标位置// RectTransformUtility.ScreenPointToWorldPointInRectangle(RectTransform rect, Vector2 screenPoint, Camera cam, out Vector3 worldPoint);// 将屏幕空间点转换为位于给定 RectTransform 平面上的世界空间中的位置// canvas,鼠标的位置,观察的摄像机,out 参数:把计算得到的值传递回来RectTransformUtility.ScreenPointToWorldPointInRectangle(canvas, new Vector2(Input.mousePosition.x, Input.mousePosition.y), mainCamera, out mousePos);float z; // z轴的旋转if (mousePos.x > transform.position.x) // 鼠标位置在正前方的右边{//public static float Angle(Vector3 from, Vector3 to); // 两个向量的角度// Vector3.up:正前方,mousePos - transform.position:鼠标到枪的向量z = -Vector3.Angle(Vector3.up, mousePos - transform.position);}else // 鼠标位置在正前方的左边{z = Vector3.Angle(Vector3.up, mousePos - transform.position);}// 设置枪的目标位置transform.localRotation = Quaternion.Euler(0, 0, z);}
  • 子弹的生成与销毁
    • 子弹生成后设置多少时间自动销毁,当然也可以创建对象池提升性能。
  • 子弹击中鱼
    • 给鱼和增加增加coliider,进行碰撞检测(OnTriggerEnter2D)

项目源码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/100119.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

牛津大学海外学习:14天的知识与文化之旅

牛津——一个充满学术氛围与古老传统的城市,对于我这次14天的海外学习经验来说,这里每一个角落都隐藏着知识和历史的故事。作为中国的一名学生,能够在这里学习、生活,真是一次难得的机会。 我报名的是《人工智能》课程&#xff0…

ElasticSearch 学习7 集成ik分词器

网上找了一大堆,很多都介绍的不详细,开始安装完一直报错找不到plugin-descriptor.properties,有些懵这个东西不应该带在里面吗,参考了一篇博客说新建一个这个,新建完可以启动,但是插入索引数据会报错找不到…

Step2:Java内存区域与内存溢出异常

文章目录 1.1 概述1. 2 运行时数据区域1. 3 HotSpot虚拟机对象探秘1. 4 作业:OutOfMemoryError异常体验1.1 概述 对于Java程序员来说,再虚拟机自动内存管理机制的帮助下,不再需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄露和内存溢出的问题,看起来由虚…

【广州华锐互动】AR轨道交通综合教学平台的应用

轨道交通是一种复杂且精密的系统,涵盖了众多技术和工程学科,包括机械、电气和计算机科学等。对于学生来说,理解和掌握这些知识是一项挑战。然而,AR技术的出现为解决这一问题提供了可能。 通过AR技术,教师可以创建生动、…

Typescript 综合笔记:解读一个github中的React 网页

1 repository来源和效果 zhitern/ntu-scse22-0163-web (github.com) 2 核心代码异同(相比于初始创建的代码) 2.1 index.html 和初始创建的是一样的 2.2 App.css 和初始创建的是一样的 2.3 index.tsx 唯一”不一样“的是紫色部分,tsx文件中多了一个…

【附代码】使用Shapely计算多边形外扩与收缩

文章目录 相关文献效果图代码 作者:小猪快跑 基础数学&计算数学,从事优化领域5年,主要研究方向:MIP求解器、整数规划、随机规划、智能优化算法 本文档介绍如何使用 Shapely Python 包 计算多边形外扩与收缩。 如有错误&…

C中volatile总结

在CPU处理过程中,需要将内存中的数据载入到寄存器中才能计算,所以可能涉及到一个问题,如果内存中的数据被更改了,但是寄存器还是使用的旧数据,这样就会造成数据的不同步。 一、volatile关键字的作用 使用volatile关键…

如何在Windows系统搭建VisualSVN服务并在公网远程访问【内网穿透】

文章目录 前言1. VisualSVN安装与配置2. VisualSVN Server管理界面配置3. 安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3.4 创建公网地址 4. 固定公网地址访问 前言 SVN 是 subversion 的缩写,是一个开放源代码的版本控制系统…

【WebService】C#搭建的标准WebService接口,在使ESB模版作为参数无法获取参数数据

一、问题说明 1.1 问题描述 使用C# 搭建WebService接口,并按照ESB平台人员的要求,将命名空间改为"http://esb.webservice",使用PostmanESB平台人员提供的入参示例进行测试时,callBussiness接口参数message始终为null。 以下是ES…

【LeetCode】——链式二叉树经典OJ题详解

主页点击直达:个人主页 我的小仓库:代码仓库 C语言偷着笑:C语言专栏 数据结构挨打小记:初阶数据结构专栏 Linux被操作记:Linux专栏 LeetCode刷题掉发记:LeetCode刷题 算法头疼记:算法专栏…

【C++】笔试训练(四)

目录 一、选择题二、编程题1、计算糖果2、进制转换 一、选择题 1、有以下程序&#xff0c;程序运行后的输出结果是&#xff08;&#xff09; #include<iostream> #include<cstdio> using namespace std; int main() {int m 0123, n 123;printf("%o %o\n&…

【数据结构】栈和队列-- OJ

目录 一 用队列实现栈 二 用栈实现队列 三 设计循环队列 四 有效的括号 一 用队列实现栈 225. 用队列实现栈 - 力扣&#xff08;LeetCode&#xff09; typedef int QDataType; typedef struct QueueNode {struct QueueNode* next;QDataType data; }QNode;typedef struct …

IntelliJ IDEA失焦自动重启服务的解决方法

IDEA 热部署特性 热部署&#xff0c;即应用正属于运行状态时&#xff0c;我们对应用源码进行了修改更新&#xff0c;在不重新启动应用的情况下&#xff0c;可以能够自动的把更新的内容重新进行编译并部署到服务器上&#xff0c;使修改立即生效。 现象 在使用 IntelliJ IDEA运…

2023品牌新媒体矩阵营销洞察报告:流量内卷下,如何寻找增长新引擎?

近年来&#xff0c;随着移动互联网的发展渗透&#xff0c;短视频、直播的兴起&#xff0c;新消费/新零售、兴趣电商/社交电商等的驱动下&#xff0c;布局线上渠道已成为绝大多数品牌的必然选择。 2022年&#xff0c;越来越多的品牌加入到自运营、自播的行列中&#xff0c;并且从…

golang gin——controller 模型绑定与参数校验

controller 模型绑定与参数校验 gin框架提供了多种方法可以将请求体的内容绑定到对应struct上&#xff0c;并且提供了一些预置的参数校验 绑定方法 根据数据源和类型的不同&#xff0c;gin提供了不同的绑定方法 Bind, shouldBind: 从form表单中去绑定对象BindJSON, shouldB…

【ONE·C++ || 异常】

总言 主要介绍异常。 文章目录 总言1、C异常1.1、C语言传统的处理错误的方式1.2、异常概念1.3、异常的基本用法1.3.1、异常的抛出和捕获1.3.1.1、异常的抛出和匹配原则1.3.1.2、 在函数调用链中异常栈展开匹配原则 1.3.2、异常的重新抛出1.3.2.1、演示一1.3.2.2、演示二 1.3.3…

【20】c++设计模式——>组合模式

组合模式定义 C组合模式&#xff08;Composite Pattern&#xff09;是一种结构型设计模式&#xff0c;他允许将对象组合成树形结构来表示“部分-整体”的层次结构&#xff1b;在组合模式中有两种基本类型的对象&#xff1a;叶子对象和组合对象&#xff0c;叶子对象时没有子对象…

C++11 Qt QFutureWatcher lambda

目录 Lambda 介绍 【QT】Qt之QFutureWatcher 简述 传参&#xff1a; 还可以使用 QProgressDialog 作为阻堵 函数&#xff0c;变成同步&#xff1b; 完成后&#xff0c;关闭&#xff1b; MyQProgressDialog 效果&#xff1a; Lambda 介绍 Lambda 函数也叫匿名函数&…

VueRouter与expres/koa中间件的关联

ueRouter: runQueue 路由守卫都是有三个参数to,from,next。其中next就是下方的fn执行时候传入的第二个参数(回调函数)&#xff0c;只有该回调执行后才会挨个遍历queue内的守卫。 中间件的作用 隔离基础设施与业务逻辑之间的细节。详细的内容位于《深入浅出Node.js》P210 另外一…