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动画游戏设计算法--查找游戏物体相关推荐

  1. Android 游戏设计教程:游戏元素和工具

    转自:http://www.oschina.net/question/28_57188 作者:Richard A. Rogers (本节内容选自<Learning Android Game Pr ...

  2. Android游戏设计教程:游戏元素和工具

    (本节内容选自<Learning Android Game Programming>这本书,主要分享针对Android设备开发游戏的基本原则和方法.) 创造优秀手机游戏不仅需要编写某些相当 ...

  3. 【游戏设计笔记】游戏开发团队

    I think you'll find the biggest critics of  WoW to be the WoW development team. --Jeffrey Kaplan(a l ...

  4. 【游戏设计笔记】游戏设计第一堂课

    I cannot give you the formula for success,but I can give you the formula for failure-which is:Try to ...

  5. 游戏设计:何为游戏框架

    当你问一名<魔兽世界>的玩家,"为什么现在WOW的主线剧情里,始终会有一个或者多个NPC,跟着玩家一起做任务?"时,大部分玩家的回答都是相同的--因为这样会很有趣.我相 ...

  6. 2d游戏设计,pygame 游戏开发

    此次作业是使用pygame模块自主设计一款2D游戏. 此次制作的游戏灵感来源于jumpKing,这是一款出售于steam的高技术游戏. 我们选择了他们的操作方式: 需A.D键来控制人物的移动,以及空格 ...

  7. python游戏设计_python小游戏设计入门1-了解游戏

    从小到大玩过很多的游戏,在我小时候,能玩游戏的地方不多,那时玩游戏都是偷摸玩的,只要是个游戏就觉得非常有趣,比较经典的有魂斗罗,拳皇,超级玛丽,贪吃蛇,俄罗斯方块等游戏:发展到现在,玩游戏已经成为生活 ...

  8. 游戏设计之动作游戏见解

    浅谈如今ACT三大之收(民间任选) 战神 鬼泣 忍龙 都在各方面具有非常出色的战斗系统,例如战神的打击感以及丰富的QTE效果,鬼泣的华丽Combo,自由搭配的武器进行战斗的方式,忍龙的高复杂度战斗,其 ...

  9. Unity3D动画游戏设计算法 --脚本生命周期

    1.实验的目的和要求 掌握脚本生命周期的概念,掌握MonoBehavior类,理解各个事件的含义.执行条件.执行过程,能够熟练利用各个事件实现相应的功能. 2.实验内容 编写相关代码,测试脚本生命周期 ...

最新文章

  1. 【ACM】杭电OJ 2037
  2. angular入门-ngOptions
  3. 关于js的回调函数的一点看法
  4. 前端每日实战:116# 视频演示如何用 CSS 和原生 JS 开发一个监控网络连接状态的页面...
  5. 嵌入式linux开发环境 cpu,嵌入式Linux开发环境的搭建之:U-Boot移植-嵌入式系统-与非网...
  6. php代码导入sql,php导入SQL文件(示例代码)
  7. VS Code 批量操作
  8. SharePoint 2010多语言UI,以及开发人员需要注意的
  9. 电脑关机很慢是怎么回事
  10. WCF-006:服务端类的封装问题
  11. 信号与线性系统管致中第六版pdf_2021年武汉工程大学834信号与系统考研全套
  12. android 模拟器声音设置,逍遥安卓模拟器运行游戏过程中没有声音怎么解决
  13. html 卡片布局 怎么,卡片式格局(CardLayout)
  14. 计算机更名无法登陆用友u8,用友T6软件修改了计算机名称后,系统管理提示不能连接服务器-用友T6...
  15. 云账户合法吗_云账户
  16. 输入框数据的初始化拼装
  17. 《Photoshop智能手机APP界面设计》学习笔记
  18. BIOS知识枝桠 -- PCIE
  19. 习题3-5 三角形判断(15 分)
  20. 【CSDN|每日一练】吃!吃!吃!

热门文章

  1. 不断革新:memoQ 9.3
  2. 能量营养棒行业调研报告 - 市场现状分析与发展前景预测
  3. 【华为OD机试模拟题】用 C++ 实现 - 病菌感染(2023.Q1)
  4. 【Linux】“grep -v grep”命令的作用 + 为什么需要使用该命令
  5. 当下热门的短视频同城拓客工具,应该如何着手去做?
  6. oracle杀死session,Oracle杀session
  7. 计算机画布模式,word绘图教程:画布、图形的关系和隐藏画布-word技巧-电脑技巧收藏家...
  8. [铁道部信息化管理]需求分析(一)—— 售票系统领域知识(区间票、订票、预留票)...
  9. 用Java语言开发物联网设备应用(3)
  10. iOS性能优化-内存优化(1)