1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
' $Id$
Import noddybox.vectorgfx
Strict
Const SCRW=800'1280
Const SCRH=600'1024
SetGraphicsDriver GLMax2DDriver()
Graphics SCRW,SCRH,32,60' Or HARDSYNC
'HideMouse()
SetBlend(ALPHABLEND)
Const SIZE:Int=20
Const MSIZE:Int=40
'Local o1:TVectorGfxObject=New TVectorGfxObject
'Local o2:TVectorGfxObject=New TVectorGfxObject
Local o1:TVectorGfxObject=TVectorGfxObject.Load("obj1.2d")
Local o2:TVectorGfxObject=TVectorGfxObject.Load("obj2.2d")
Local cm:TVectorGfxCollisionMap=TVectorGfxCollisionMap.Create(MSIZE,MSIZE)
Rem
o1.AddLine(TVectorGfxLine.Create(-SIZE,SIZE,SIZE,SIZE,255,0,0,1))
o1.AddLine(TVectorGfxLine.Create(SIZE,SIZE,SIZE,-SIZE,0,255,0,2))
o1.AddLine(TVectorGfxLine.Create(SIZE,-SIZE,-SIZE,-SIZE,255,0,0,1))
o1.AddLine(TVectorGfxLine.Create(-SIZE,-SIZE,-SIZE,SIZE,0,255,0,2))
o1.x=400
o1.y=300
o1.Save("obj1.2d")
o2.AddLine(TVectorGfxLine.Create(-SIZE,SIZE/2,SIZE,SIZE/2,255,255,255,0))
o2.AddLine(TVectorGfxLine.Create(SIZE,SIZE/2,SIZE,-SIZE/2,255,255,255,0))
o2.AddLine(TVectorGfxLine.Create(SIZE,-SIZE/2,-SIZE,-SIZE/2,255,255,255,0))
o2.AddLine(TVectorGfxLine.Create(-SIZE,-SIZE/2,-SIZE,SIZE/2,255,255,255,0))
o2.Save("obj2.2d")
EndRem
While Not KeyHit(KEY_ESCAPE)
Cls
cm.Clear()
cm.SetOffset(MouseX()-MSIZE/2,MouseY()-MSIZE/2)
If KeyHit(KEY_F1)
VectorGfxSetSolid()
EndIf
If KeyHit(KEY_F2)
VectorGfxSetAlpha(0.7,1.0)
EndIf
If KeyHit(KEY_F3)
VectorGfxSetThickAlpha(0.2)
EndIf
o1.Draw(cm)
o1.ang=(o1.ang+2) Mod 3600
o2.x=MouseX()
o2.y=MouseY()
o2.Draw(cm)
DrawText MilliSecs() + ":Col=" + o2.Draw(cm),0,0
Flip
FlushMem
Wend
EndGraphics
End
|