Please notice that you are free to move the transparent triangle on the screen using keyboard arrows or A S D W letters.
Here the source:
Rebol [Title: "spaceship"]
;our spaceship
triangle: [translate 150x300 polygon 10x80 50x10 90x80]
s: 10 ;spaceship speed
;function that move the triangle on the screen
move-s: func [b] [
if b = #"a" [ triangle/2/x: triangle/2/x - s ]
if b = #"d" [triangle/2/x: triangle/2/x + s ]
if b = #"s" [triangle/2/y: triangle/2/y + s ]
if b = #"w" [triangle/2/y: triangle/2/y - s ]
repeat i 2 [
if triangle/2/:i < 0 [triangle/2/:i: 0 ]
if triangle/2/:i > 300 [triangle/2/:i: 300 ]
]
show a
]
;our background
out: copy []
;this update the background
sfondo: func [/local a][
;move all one line (10px) down
insert out [translate 0x10]
;insert a star (a box 2x2)
a: random 400x0
insert out reduce ['box a (a + 2) ]
; short out series a only 205 elements
clear skip out 205
out
]
;main window
view layout [
at 0x0
box black 400x400 rate 30 feel [engage: func [f a e][f/effect: reduce [ 'draw sfondo] show f ]]
at 0x0
a: box 400x400 effect [draw triangle ]
key keycode [#"a" left] [move-s #"a"]
key keycode [#"s" down] [move-s #"s"]
key keycode [#"d" right ] [move-s #"d"]
key keycode [#"w" up ] [move-s #"w"]
]
No comments:
Post a Comment