2015-03-12 05:05:50 +01:00
|
|
|
|
|
|
|
extends BackBufferCopy
|
|
|
|
|
2015-11-21 16:13:43 +01:00
|
|
|
# Member variables
|
|
|
|
const MOTION_SPEED = 150
|
|
|
|
|
|
|
|
var vsize
|
|
|
|
var dir
|
2015-03-12 05:05:50 +01:00
|
|
|
|
|
|
|
|
|
|
|
func _process(delta):
|
2015-11-21 16:13:43 +01:00
|
|
|
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)
|
2015-03-12 05:05:50 +01:00
|
|
|
|
|
|
|
set_pos(pos)
|
|
|
|
|
2015-11-21 16:13:43 +01:00
|
|
|
|
2015-03-12 05:05:50 +01:00
|
|
|
func _ready():
|
|
|
|
vsize = get_viewport_rect().size
|
2015-11-21 16:13:43 +01:00
|
|
|
var pos = vsize*Vector2(randf(), randf())
|
|
|
|
set_pos(pos)
|
|
|
|
dir = Vector2(randf()*2.0 - 1, randf()*2.0 - 1).normalized()
|
2015-03-12 05:05:50 +01:00
|
|
|
set_process(true)
|