示例#1
0
 def __init__(self, name):
     NodePath.__init__(self, name)
     self.cm = CardMaker(name)
     self.cm.setFrame(-0.5, 0.5, -0.5, 0.5)
     self._Flag__model = NodePath(self.cm.generate())
     self._Flag__setBaseModelColor(Vec4(1))
     self.assign(NodePath(GeomNode('flag')))
     self.setTransparency(1)
     self.shapeNode = loader.loadModel('models/flags/flag_shape')
     self.bgNode = loader.loadModel('models/flags/flag_bg')
     self.emblemNode = loader.loadModel('models/flags/flag_emblem')
     self.guiNode = loader.loadModel('models/flags/flag_gui')
     self.dna = FlagDNA()
示例#2
0
            rot = rotation
            scl = scale
            corner = TransformState.makePos2d(Vec2(-0.5, -0.5))
            xForm = TransformState.makePosRotateScale2d(
                pos, rot, Vec2(scl)).compose(corner)
            final = xForm.invertCompose(TransformState.makeIdentity())
            np.setTexTransform(stage, final)

    def randomize(self, shape=False, bg=False, emblems=False):
        self.dna.randomize(shape, bg, emblems)
        self.activate()

    def flattenEmblemIndices(self):
        self.dna.flattenEmblemIndices()
        self.activate()


if __name__ == '__main__':
    p = FlagDNA()
    p.setShapeStyle(0)
    p.setBackground(0, 1, 6, 5, 7, 0, 0)
    p.setLayout(0, 128, 128, 0, 2)
    p.setEmblem(0, 8, 4, 4, 0, 4)
    f = Flag('testflag')
    f.setDNAString(p.getDNAString())
    f.reparentTo(render)
    print f
    print ` f `
    base.mouseInterface.node().setPos(0, 3, 0)
    run()