38 lines
597 B
GDScript3
38 lines
597 B
GDScript3
|
|
||
|
extends BackBufferCopy
|
||
|
|
||
|
# member variables here, example:
|
||
|
# var a=2
|
||
|
# var b="textvar"
|
||
|
const MOTION_SPEED=150
|
||
|
|
||
|
var vsize;
|
||
|
var dir;
|
||
|
|
||
|
func _process(delta):
|
||
|
var pos = get_pos() + dir * delta * MOTION_SPEED
|
||
|
|
||
|
if (pos.x<0):
|
||
|
dir.x=abs(dir.x)
|
||
|
elif (pos.x>vsize.x):
|
||
|
dir.x=-abs(dir.x)
|
||
|
|
||
|
if (pos.y<0):
|
||
|
dir.y=abs(dir.y)
|
||
|
elif (pos.y>vsize.y):
|
||
|
dir.y=-abs(dir.y)
|
||
|
|
||
|
set_pos(pos)
|
||
|
|
||
|
func _ready():
|
||
|
vsize = get_viewport_rect().size
|
||
|
var pos = vsize * Vector2(randf(),randf());
|
||
|
set_pos(pos);
|
||
|
dir = Vector2(randf()*2.0-1,randf()*2.0-1).normalized()
|
||
|
set_process(true)
|
||
|
|
||
|
# Initialization here
|
||
|
pass
|
||
|
|
||
|
|