Unity3D动画游戏设计算法--查找游戏物体
1.实验的目的和要求
掌握Unity脚本的主要内容,通过游戏物体索引方法,查找相关信息的游戏物体。
2.实验内容
(1)设定多个游戏物体的血量值,利用Object类的方法查找血量最少的游戏物体,标为红色。
(2)查找距离最近的游戏物体,标为蓝色。
3.主要代码
(1)enemy脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class enemy : MonoBehaviour
{
public int HP;
}
(2)FindEnemyDemo脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class FindEnemyDemo : MonoBehaviour
{
private void OnGUI()
{
if (GUILayout.Button("查找血量最少的敌人"))
{
enemy[] allenmy = Object.FindObjectsOfType<enemy>();
enemy min = FindEnemyByMinHP(allenmy);
min.GetComponent<MeshRenderer>().material.color = Color.red;
}
if (GUILayout.Button("查找距离最近的敌人"))
{
enemy[] allenmy = Object.FindObjectsOfType<enemy>();
enemy min = FindEnemyByMinDistance(allenmy);
min.GetComponent<MeshRenderer>().material.color = Color.blue;
}
}
public enemy FindEnemyByMinHP(enemy[] allenemy)
{
enemy min = allenemy[0];
for(int i = 1; i < allenemy.Length; i++)
{
if (min.HP > allenemy[i].HP)
{
min = allenemy[i];
}
}
return min;
}
public enemy FindEnemyByMinDistance(enemy[] allenemy)
{
enemy min = allenemy[0];
float minDistance = Vector3.Distance(this.transform.position, min.transform.position);
for (int i = 1; i < allenemy.Length; i++)
{
float newDistance = Vector3.Distance(this.transform.position, allenemy[i].transform.position);
if (minDistance > newDistance)
{
min = allenemy[i];
minDistance = newDistance;
}
}
return min;
}
}
4.实验结果
Unity3D动画游戏设计算法--查找游戏物体相关推荐
- Android 游戏设计教程:游戏元素和工具
转自:http://www.oschina.net/question/28_57188 作者:Richard A. Rogers (本节内容选自<Learning Android Game Pr ...
- Android游戏设计教程:游戏元素和工具
(本节内容选自<Learning Android Game Programming>这本书,主要分享针对Android设备开发游戏的基本原则和方法.) 创造优秀手机游戏不仅需要编写某些相当 ...
- 【游戏设计笔记】游戏开发团队
I think you'll find the biggest critics of WoW to be the WoW development team. --Jeffrey Kaplan(a l ...
- 【游戏设计笔记】游戏设计第一堂课
I cannot give you the formula for success,but I can give you the formula for failure-which is:Try to ...
- 游戏设计:何为游戏框架
当你问一名<魔兽世界>的玩家,"为什么现在WOW的主线剧情里,始终会有一个或者多个NPC,跟着玩家一起做任务?"时,大部分玩家的回答都是相同的--因为这样会很有趣.我相 ...
- 2d游戏设计,pygame 游戏开发
此次作业是使用pygame模块自主设计一款2D游戏. 此次制作的游戏灵感来源于jumpKing,这是一款出售于steam的高技术游戏. 我们选择了他们的操作方式: 需A.D键来控制人物的移动,以及空格 ...
- python游戏设计_python小游戏设计入门1-了解游戏
从小到大玩过很多的游戏,在我小时候,能玩游戏的地方不多,那时玩游戏都是偷摸玩的,只要是个游戏就觉得非常有趣,比较经典的有魂斗罗,拳皇,超级玛丽,贪吃蛇,俄罗斯方块等游戏:发展到现在,玩游戏已经成为生活 ...
- 游戏设计之动作游戏见解
浅谈如今ACT三大之收(民间任选) 战神 鬼泣 忍龙 都在各方面具有非常出色的战斗系统,例如战神的打击感以及丰富的QTE效果,鬼泣的华丽Combo,自由搭配的武器进行战斗的方式,忍龙的高复杂度战斗,其 ...
- Unity3D动画游戏设计算法 --脚本生命周期
1.实验的目的和要求 掌握脚本生命周期的概念,掌握MonoBehavior类,理解各个事件的含义.执行条件.执行过程,能够熟练利用各个事件实现相应的功能. 2.实验内容 编写相关代码,测试脚本生命周期 ...
最新文章
- 【ACM】杭电OJ 2037
- angular入门-ngOptions
- 关于js的回调函数的一点看法
- 前端每日实战:116# 视频演示如何用 CSS 和原生 JS 开发一个监控网络连接状态的页面...
- 嵌入式linux开发环境 cpu,嵌入式Linux开发环境的搭建之:U-Boot移植-嵌入式系统-与非网...
- php代码导入sql,php导入SQL文件(示例代码)
- VS Code 批量操作
- SharePoint 2010多语言UI,以及开发人员需要注意的
- 电脑关机很慢是怎么回事
- WCF-006:服务端类的封装问题
- 信号与线性系统管致中第六版pdf_2021年武汉工程大学834信号与系统考研全套
- android 模拟器声音设置,逍遥安卓模拟器运行游戏过程中没有声音怎么解决
- html 卡片布局 怎么,卡片式格局(CardLayout)
- 计算机更名无法登陆用友u8,用友T6软件修改了计算机名称后,系统管理提示不能连接服务器-用友T6...
- 云账户合法吗_云账户
- 输入框数据的初始化拼装
- 《Photoshop智能手机APP界面设计》学习笔记
- BIOS知识枝桠 -- PCIE
- 习题3-5 三角形判断(15 分)
- 【CSDN|每日一练】吃!吃!吃!
热门文章
- 不断革新:memoQ 9.3
- 能量营养棒行业调研报告 - 市场现状分析与发展前景预测
- 【华为OD机试模拟题】用 C++ 实现 - 病菌感染(2023.Q1)
- 【Linux】“grep -v grep”命令的作用 + 为什么需要使用该命令
- 当下热门的短视频同城拓客工具,应该如何着手去做?
- oracle杀死session,Oracle杀session
- 计算机画布模式,word绘图教程:画布、图形的关系和隐藏画布-word技巧-电脑技巧收藏家...
- [铁道部信息化管理]需求分析(一)—— 售票系统领域知识(区间票、订票、预留票)...
- 用Java语言开发物联网设备应用(3)
- iOS性能优化-内存优化(1)