搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
菜鸟追梦旅行
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
【无标题】Unity打包事全屏和分辨率设置_unity 项目打包屏幕尺寸过大
2
php:抓取各大平台音乐链接 ( QQ音乐、酷我、咪咕、网易云 )_get_music.php?key=b6qj5rc5is9bojfkfgbfmfgqafhyjp7p
3
【学习笔记】浅识蚂蚁金服中间件产品“任务调度Schedule”_蚂蚁金服 开源任务调度
4
机器学习实验——分类学习算法_基于机器学习的分类实验
5
深度学习—激活函数详解(Sigmoid、tanh、ReLU、ReLU6及变体P-R-Leaky、ELU、SELU、Swish、Mish、Maxout、hard-sigmoid、hard-swish)
6
【51单片机】利用【与或赋值法】优化【配置TMOD寄存器】
7
卡内基梅隆大学(CMU)的Eric Xing(邢波)教授为什么能读完一般学校的分子生物学PhD后到伯克利去CS PhD?_csrankings邢波
8
如何用GPT进行成像光谱遥感数据处理?
9
再见conda,你好Mamba_mamba和conda
10
YOLOv8 | 代码逐行解析(一) | 项目目录构造分析_yolov8-ghost-p2.yaml
当前位置:
article
> 正文
【菜菜丸的菜鸟教程】动手做个生命游戏 体验无穷演化奥妙(1)
作者:菜鸟追梦旅行 | 2024-02-18 23:59:26
赞
踩
unity 康威生命游戏
一、生命游戏简介
生命游戏(Game of Life)是由约翰·何顿·康威(John Horton Conway)设计的计算机程序。它按照一定的规律逐代演化,模拟了生命的出生、繁衍和消亡过程。根据初始结构的不同,在演化过程中有时能呈现出一定规律性,有时则显得杂乱无章。
生命游戏中较复杂的演化模式“播种机”
是不是很美妙呢?其实,生命游戏的原理很简单。它用一张二维网格来模拟二维世界,网格中的格子就代表“细胞”,每个细胞只有两种状态:存活或死亡。每隔一段时间,细胞将迭代一轮,下一轮的细胞状态由上一轮该细胞周围的细胞状态决定。决定细胞状态的规则是:
·当前细胞为存活状态时,当周围的存活细胞低于2个时(不包含2个),该细胞变成死亡状态。(模拟生命数量稀少)
·当前细胞为存活状态时,当周围有2个或3个存活细胞时,该细胞保持原样。
·当前细胞为存活状态时,当周围有超过3个存活细胞时,该细胞变成死亡状态。(模拟生命数量过多)
·当前细胞为死亡状态时,当周围有3个存活细胞时,该细胞变成存活状态。(模拟繁殖)
这些规则清晰明了,非常适合用程序语言来描述,即使是C#初学者也能理解和运用。下面,就让我们一起来做个生命游戏,亲身体验它的奇妙变化吧!
(笔者使用的Unity版本是Unity2021.3)
二、设计思路
在动手制作之前,我们首先要设计游戏框架,也就是我们如何才能实现想要达到的游戏效果。我将它拆解为以下步骤:
制作UI,包括游戏标题和互动按钮,等等。
画出网格背景。
实现鼠标点击格子改变格子状态,并获得被点击格子以及该格子周边格子的信息。
点击按钮,开始应用生命游戏规则,同时禁用鼠标点击格子。
结束/重启游戏。
三、UI制作
打开Unity,在Hierarchy窗口中右键单击>UI>Panel,新建一个Panel作为标题栏,放在窗口上部,重命名为Title,具体参数可根据自己的需要调整。
在Title下右键单击>UI>Text-TextMeshPro,新建Text,在Text Input栏中输入标题“生命游戏”,并调整字体、字号、颜色等属性。
在同一张画布(Canvas)下右键单击>UI>Button,新建一个按钮,重命名为“Start Button”,放在窗口右下角。在Start Button的子物体Text(TMP)中,在Text Input栏中输入按钮文字“开始”。
复制一个Start Button,重命名为“Clear Button”,放在Start Button的下方,在其子物体Text(TMP)的Text Input栏中输入按钮文字“清除”。
调整Canvas中Canvas Scaler的属性,使之可以按照屏幕尺寸缩放。如图:
完成的UI示例:
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/111400
推荐阅读
article
齐次
坐标和
齐次
矩阵
...
在里,讲到了一些基本的几何变换,其中旋转、缩放属于线性变换,都能写成的形式。而平移属于(经过一次线性变换,再进行一次平移...
赞
踩
article
一次
Unity3D
IL2CPP
打包错误_
build
fai
ledexception: increm...
Unity3D
官方论坛上说这是微软MSVC编译器(或者说Visual Studio)的一个BUG,但仔细思考,我反而认为...
赞
踩
article
极速进化,光速
转
录,C++版本
人工智能
实时
语音
转
文字(字幕/
语音
识别
)
Whisper
.
cpp
实践_c...
业界良心OpenAI开源的[
Whisper
模型](https://v3u.cn/a_id_272)是开源
语音
转
文字领域的...
赞
踩
article
Android
OnClickListener
与
OnTouchListener
原理解析...
set
OnClickListener
和 set
OnTouchListener
mButton.setOnClickLis...
赞
踩
article
Svn
Clean
up 失败
解决办法
...
Svn
Clean
up 失败
解决办法
在使用SVN 的
Clean
UP功能时可能会有如下的异常:1. previous ...
赞
踩
article
.
NET
开发
AutoCAD
_
autocad
.
net
有
哪几个
模块...
第 1章 Hello World: 访问 ObjectARX .
NET
封装类 在这一章中,我们将使用Visual S...
赞
踩
article
提交
svn
时
,
执行
clean
up
命令
报错
原因及办法
;
_
svn
报错
clean
up
...
一、
clean
up
是清楚锁定的意思
;
二、
报错
的原因:
svn
本地更新的时候
,
由于操作中断或者磁盘空间不够
,
会造成本地文...
赞
踩
article
python
浪漫
表白
,
表白
代码
——
绘制
3D
玫瑰花
_
python
绘制
立体
玫瑰花
...
马上520
,
python
的
表白
代码
要来啦
,
看过了2D
,
今天给大家分享一款3D
玫瑰花
的
绘制
代码
,
快快动动你的小手打开py文...
赞
踩
article
carla
学习笔记(二)
_
world
.
wait
_
for
_
tick
...
一天一篇,早日学明白
carla
_
world
.
wait
_
for
_
tick
world
.
wait
_
for
_
tick
...
赞
踩
article
Unity 创建
Canvas
(
Environment
)_
unity
canvas
environm...
Canvas
(
Environment
) 会显示原来
canvas
下所有的内容 比如你在原
canvas
下放了一个文本 那么你...
赞
踩
article
ubuntu20.04安装
ROS
出现E: 无法定位
软件包
ros
-
noetic
-
desktop
-fu...
只是对自己解决问题的过程进行记录。然后安装对应版本的
ROS
。按照这篇文章进行操作。_e: 无法定位
软件包
ros
-noe...
赞
踩
article
autojs
ui
界面漂亮模板
2
...
普通交流群698307198欢迎加入,和各位大神一同交流,更多代码,欢迎加入vip交流群.免责声明:本博客提供的所有内容...
赞
踩
article
音频
指纹
的算法
--
飞利浦
解决方案
_
音频
指纹
算法...
这个
音频
指纹
暂时用来做同源
音频
聚类,判断歌曲是否是同一源的,这里先介绍下飞利浦的方案
--
--
--
-A Highly Ro...
赞
踩
article
使用
unity
制作
的
一
款生存类
游戏
demo
(
一
)_
unity
收集类
任务
怎么做...
花了20多天
的
时间来完成这个
demo
,主要是为了实现
一
些自己设想
的
功能,并未注重关卡和玩法
的
设计,整体上还不够完善或者...
赞
踩
article
minio
分布式
存储
系列(二)__
SpringBoot
集成
minio
API
相关使用_
minio
cl...
相关使用_
minio
client.
statobject
minio
client.
statobject
...
赞
踩
article
Python
列表
净化时
for
与
remove
的
使用
_
remove
和
for
...
目标:去除
列表
中
的
奇数元素Code 1以
列表
[4, 5, 5, 4]为例,第一次写出
的
代码如下:def purify(l...
赞
踩
article
SVN
清理失败 (
cleanup
) 的解决方法_
svn
cleanup
pristine
text
...
在版本控制下,如果对一个文件过多的操作,就有可能使
SVN
的
cleanup
功能失效,从而报如下错误:Previous op...
赞
踩
article
C#
学习笔记:
序列化
_
c#
onserializing
...
序列化
在
C#
中运用的非常多,由于我是学Unity的,Unity中的
序列化
特性也比较常用,所以这篇文章我们讲讲
序列化
的用法...
赞
踩
article
html
回到
顶部
的特效_
html
返回
顶部
样式
...
html
代码:
返回
顶部
js代码:$(function(){ $(".istop").click(function() {...
赞
踩
article
Minio
工具
类 -
Java
_
minioutils
...
依赖
io.minio
minio...
赞
踩
相关标签
矩阵
线性代数
unity
人工智能
c++
语音识别
whisper
后端
android
java
SVN工具使用
svn clean up
svn
python
3d
numpy
学习
ui
游戏引擎
机器人
音频指纹
游戏开发
c#
分布式存储