~codeforger/pypal/release

« back to all changes in this revision

Viewing changes to pypal/sandbox/testcontacts.py

  • Committer: Michael Rochester
  • Date: 2014-07-15 11:58:20 UTC
  • Revision ID: m.rochester93@googlemail.com-20140715115820-qhxcg847lmz3q0le
cleaned up the project abit and fixed the built in examples

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
import pygame 
2
 
from pygame.locals import *
3
 
 
4
 
import sgc
5
 
from sgc.locals import *
6
 
 
7
 
import pypal as pal
8
 
 
9
 
import engine
10
 
 
11
 
def draw_box(b):
12
 
    points = b.get_size()
13
 
    print points
14
 
    location = b.get_location()
15
 
    print location
16
 
 
17
 
def pospos(pos):
18
 
    pos[0] *= 10
19
 
    pos[1] *= -10
20
 
    pos[0]+=250
21
 
    pos[1]+=490
22
 
    return pos
23
 
 
24
 
pygame.init()
25
 
window = sgc.surface.Screen((500,500))
26
 
 
27
 
pal.init()
28
 
 
29
 
drawable = pygame.sprite.Group()
30
 
 
31
 
terain =  pal.body.Terrain((0,0,0),60)
32
 
tsprite = pygame.sprite.Sprite(drawable)
33
 
tsprite.image = pygame.Surface((500,10))
34
 
tsprite.image.fill((255,0,0))
35
 
tsprite.rect = Rect(pospos([terain.get_position()[0],terain.get_position()[1],500,10]))
36
 
 
37
 
box1 = pal.body.Box((0.5,1,0,1,1,1),mass=10)
38
 
b1sprite = pygame.sprite.Sprite(drawable)
39
 
b1sprite.image = pygame.Surface((10,10))
40
 
b1sprite.image.fill((0,255,0))
41
 
b1sprite.rect = Rect(pospos([box1.get_position()[0],box1.get_position()[1],10,10]))
42
 
 
43
 
box3 = pal.body.Box((1,0,0,1,1,1),mass=10)
44
 
b3sprite = pygame.sprite.Sprite(drawable)
45
 
b3sprite.image = pygame.Surface((10,10))
46
 
b3sprite.image.fill((0,255,0))
47
 
b3sprite.rect = Rect(pospos([box3.get_position()[0],box3.get_position()[1],10,10]))
48
 
 
49
 
box4 = pal.body.Box((0,0,0,1,1,1),mass=10)
50
 
b4sprite = pygame.sprite.Sprite(drawable)
51
 
b4sprite.image = pygame.Surface((10,10))
52
 
b4sprite.image.fill((0,255,0))
53
 
b4sprite.rect = Rect(pospos([box4.get_position()[0],box4.get_position()[1],10,10]))
54
 
 
55
 
 
56
 
 
57
 
 
58
 
box1.notify_collision(True)
59
 
 
60
 
box1.set_group(1)
61
 
terain.set_group(1)
62
 
 
63
 
motorbool = False
64
 
cl = pygame.time.Clock()
65
 
running = True
66
 
while running:
67
 
    time = cl.tick(50)
68
 
    for event in pygame.event.get():
69
 
        if event.type == QUIT:
70
 
            running = not running
71
 
        elif event.type == KEYDOWN:
72
 
            if event.key == K_SPACE:
73
 
                pass
74
 
            elif event.key == K_RIGHT:
75
 
                box1.set_active(True)
76
 
                box1.apply_impulse((75,0,0))
77
 
            elif event.key == K_LEFT:
78
 
                box1.set_active(True)
79
 
                box1.apply_impulse((-75,0,0))
80
 
            elif event.key == K_UP:
81
 
                box1.set_active(True)
82
 
                box1.apply_impulse((0,75,0))
83
 
            elif event.key == K_DOWN:
84
 
                box1.set_active(True)
85
 
                box1.apply_impulse((0,-75,0))
86
 
    
87
 
    pal.update(1./50.)
88
 
    if motorbool: motor.run()
89
 
 
90
 
    b1sprite.rect.center = pospos([box1.get_position()[0],box1.get_position()[1]])
91
 
    b3sprite.rect.center = pospos([box3.get_position()[0],box3.get_position()[1]])
92
 
    b4sprite.rect.center = pospos([box4.get_position()[0],box4.get_position()[1]])
93
 
 
94
 
    window.fill((0,0,0))
95
 
    drawable.draw(window)
96
 
    pygame.display.flip()
97
 
    #print "time:%2.2f pos:%2.2f %2.2f %2.2f " % (pal.get_time(), 
98
 
    #                                             box1.get_position()[0], 
99
 
    #                                             box1.get_position()[1], 
100
 
    #                                             box1.get_position()[2])
101
 
    print box1.get_unique_contacts(),box1.get_position()
102
 
 
103
 
print pal._pal.all_objects
104
 
box1.delete()
105
 
box3.delete()
106
 
box4.delete()
107
 
terain.delete()
108
 
print pal._pal.all_objects
109
 
 
110
 
pal.cleanup()