get_rect 返回 Sprite2D 边界的局部坐标 Rect2 练习 # 检测是否点击了 Sprite2D func _input(event): if event is InputEventMouseButton and event.pressed and event.button_index == MOUSE_BUTTON_LEFT: if get_rect().has_point(to_local(event.position)): print("A click!") AnimatedSprite2D 包含多...
global_position就是子弹的全局坐标,get_viewport_rect()就是屏幕的大小这样,在子弹出任意一边的时候,就会执行queue_free(),将其删除(当然,判断用or连接是可以的) 人类的大敌 吧主 14 1、背景颜色不使用素材图片的话,可以使用颜色矩形(ColorRect)节点当背景:2、使用stop()停止播放,然后设置动画帧数:3、信号是...
ATTACK_2: animationPlayer.Play("attack2"); isComboRequested = false; break; case State.ATTACK_3: animationPlayer.Play("attack3"); isComboRequested = false; break; case State.HURT: animationPlayer.Play("hurt"); stats.Health -= pendingDamage.amount; var dir = pendingDamage.source.GlobalPosi...
根据实验结果猜测event.position实际是视窗内的坐标,不是全局坐标,需要根据camera位置进行转换;如图: 用camera.get_camera_screen_center()-node.get_viewport().get_visible_rect().size/2替换 一切似乎正常了 迁移回我的项目,发现位置还是差一点,结合之前的经验,由于我的camera使用了zoom缩放1.5倍,多半是缩放导致...
tree.CurrentScene.Call("UpdatePlayer", parameters["position"], parameters["direction"]); GetTree().Paused = false; Tween fadeOut = CreateTween(); fadeOut.SetPauseMode(Tween.TweenPauseMode.Process); fadeOut.TweenProperty(colorRect, new NodePath(ColorRect.PropertyName.Color + ":a"), 0.0f,...
为了方便操作,可以设置一个充满屏幕的ColorRect作为父节点,设置ClipChildren使其变成蒙版,而后在工具栏中选择"锁定",避免操作子物体时误操作蒙版 然后用shader控制蒙版的透明度以构成希望的形状。简单的圆、矩形是比较容易实现的。 可参考GodotShaders网站中的示例,特别是这一系列: ...
{ public short Speed = 500; public short Y_point = 70; public short y_vel = -1; public override void _Process(double delta) { Velocity = new(0, Speed * y_vel); MoveAndSlide(); if (GlobalPosition.Y < -GetViewportRect().Size.Y + 620 || GlobalPosition.Y > GetViewportRect().Siz...
2、godot的UI节点默认Rect——min size是(0,0),如果是panel,那么可能会出现panel完全不显示的情况,要修改和size完全一样……这是哪门子设计…… 3、godot的碰撞体在instance()后就可以触发碰撞事件,即使它在程序内还是远程debug内都是不可视的……这个东西在instance()的时候大概会位于窗口默认大小的正中间,所以...
onready var _windowSize := self.get_viewport_rect().size # 跟踪的目标 var targets := [] func _process(delta: float) -> void: if targets.size() <= 1: _camera.zoom = lerp(_camera.zoom, Vector2.ONE, 2.0 * delta) return
2、godot的UI节点默认Rect——min size是(0,0),如果是panel,那么可能会出现panel完全不显示的情况,要修改和size完全一样……这是哪门子设计…… 3、godot的碰撞体在instance()后就可以触发碰撞事件,即使它在程序内还是远程debug内都是不可视的……这个东西在instance()的时候大概会位于窗口默认大小的正中间,所以...