实现抽奖功能

UI拆解
分为装饰性以及功能性UI两种,都是比较容易绘制的
直接截图并对其进行临摹,这里就不展示具体的绘制过程了,下面主要讲解功能性代码的实现
功能实现
大概流程如下:
- 
转盘包含8个内容,这种奖励都是固定的,可以直接固定 
- 
点击开始抽奖按钮 
- 
播放转盘转动动画 
- 
使用一个随机函数确定最终奖励位置 
- 
获得奖励并且提示 
extends Node2D
@onready var board: AnimatedSprite2D = $board
var curr_frame = -1
func _ready() -> void:
	pass
func _process(delta: float) -> void:
	if curr_frame == -1 or not board.is_playing():
		return
	
	if board.frame == curr_frame:
		print("抽奖完成")
		curr_frame = -1
		board.pause()
func _on_draw_pressed() -> void:
	board.frame = 0
	board.play("default")
	await get_tree().create_timer(1.5).timeout
	curr_frame = randi_range(0, 7)
