我是靠谱客的博主 专一电灯胆,最近开发中收集的这篇文章主要介绍用Array.shuffle生成随机值,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Godot Engine 3.2Alpha2

Godot内置了很多游戏开发常用的功能函数

数组对象内置了一个shuffle()函数,顾名思义就是打乱数组的顺序,常用于构造枚举类型以及其它离散有限数据的随机,非常好用

Shuffles the array such that the items will have a random order. This method uses the global random number generator common to methods such as @GDScript.randi. Call @GDScript.randomize to ensure that a new seed will be used each time if you want non-reproducible shuffling.

范例
extends Node

enum{
	IDLE,
	MOVE,
	SHOOT,
	HURT,
	DIE
}

var state = MOVE

func _process(delta):
	match state:
		IDLE:
			pass
		MOVE:
			pass
		SHOOT:
			pass
		HURT:
			pass
		DIE:
			pass
		_:
			state = choose([IDLE,MOVE,SHOOT,HURT,DIE])

func choose(array):
	randomize()
	array.shuffle()
	return array.front()

shuffle()可以和front()配合使用,注意:由于每次打乱顺序都是基于全局的随机算子,因此如果要确保每次结果不重复,需要先调用一下全局函数randomize()

最后

以上就是专一电灯胆为你收集整理的用Array.shuffle生成随机值的全部内容,希望文章能够帮你解决用Array.shuffle生成随机值所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部