Ejemplo n.º 1
0
    def __init__(self, app, launched_by, index, movespeed=1.5, scale=0.1, damage=10):
        self.app = app
        self.model = load_object("bullet", pos=Point2(0,0), depth=1, scale=10.0)
        self.launched_by = launched_by
        self.deleted = False

        self.damage = damage

        self.movespeed = movespeed

        self.np = app.render.attachNewNode("bullet_%d" % index)
        self.np.setHpr(self.launched_by.np.getHpr())
        self.np.setScale(scale)
 
        rads = radians(self.launched_by.np.getHpr().x)
        self.movement = Vec3(cos(rads), sin(rads), 0)
        self.model.reparentTo(self.np)
        self.np.setPos(self.launched_by.np.getPos() + self.movement)

        self.movement = self.movement * self.movespeed

        self.cn = self.np.attachNewNode(CollisionNode('bullet_cn_%d' % index))
        self.cs = CollisionSphere(self.model.getPos(), 1)
        self.cn.node().addSolid(self.cs)
        #self.cn.show()

        self.cn.node().setFromCollideMask(BitMask32(0x00))
        self.cn.node().setIntoCollideMask(BitMask32(0x10))
Ejemplo n.º 2
0
    def gen_background(self):
        bg_x = 50
        bg_y = 50

        tile_count = 20

        backgrounds = []

        self.bgnp = self.render.attachNewNode("bg")

        for i in range(-tile_count,tile_count):
            for j in range(-tile_count,tile_count):
                backgrounds.append(load_object("grass", pos = Point2(i*bg_x, j*bg_y), transparency = False, scale = 50))
        for background in backgrounds:
            background.reparentTo(self.bgnp)

        self.bgnp.flattenStrong()    
        return backgrounds