您当前的位置: 首页 > 

开发游戏的老王

暂无认证

  • 1浏览

    0关注

    803博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

GDScript:Setter和Getter(一)基本语法

开发游戏的老王 发布时间:2020-01-01 07:34:04 ,浏览量:1

节点结构

在这里插入图片描述

misc_scene.gd
extends Node

func _ready():
    $"node".speed = 6.0
    print($"node".speed)

1. 子节点node.gd,未定义 setter和getter
extends Node

var speed: float = 5.0

输出结果
6
2. 子节点node.gd,定义 setter和getter
var speed: float = 5.0 setget set_speed,get_speed

func set_speed(s):
    print("我是setter")
    speed = s

func get_speed():
    print("我是getter")
    return speed

输出结果
我是setter
我是getter
6
3. 子节点node.gd,只定义getter
var speed: float = 5.0 setget ,get_speed


func get_speed():
    print("我是getter")
    return speed

输出结果
我是getter
6
4. 子节点node.gd,在setter中定义警告
extends Node

var speed: float = 5.0 setget set_speed,get_speed


func set_speed(s):
	print("我是setter:但是我不允许set")

func get_speed():
	print("我是getter:但是我不允许get")

输出结果
我是setter:但是我不允许set
我是getter:但是我不允许get
Null

小结 GDScript的setget实际上就是一个字段访问行为的重定向,即:把赋值或者取值的行为重定到指定的函数,我之前误以为setget是用来隐藏字段的

关注
打赏
1656935939
查看更多评论
立即登录/注册

微信扫码登录

0.0413s