654 |
def __init__(self): |
def __init__(self): |
655 |
self.scale = texsize |
self.scale = texsize |
656 |
self.angle = 0 |
self.angle = 0 |
657 |
|
self.angle2 = 0 |
658 |
self.tx, self.ty = 0, 0 |
self.tx, self.ty = 0, 0 |
659 |
self.bg = background((0.7,0.7,1.0)) |
self.bg = background((0.7,0.7,1.0)) |
660 |
|
|
701 |
else: |
else: |
702 |
tex2d = "Disable" |
tex2d = "Disable" |
703 |
|
|
704 |
|
q = texscale |
705 |
paint = """ |
paint = """ |
706 |
PushAttrib ENABLE_BIT |
PushAttrib ENABLE_BIT |
707 |
Disable ALPHA_TEST |
Disable ALPHA_TEST |
711 |
TexParameter TEXTURE_2D TEXTURE_MAG_FILTER NEAREST |
TexParameter TEXTURE_2D TEXTURE_MAG_FILTER NEAREST |
712 |
#TexEnv TEXTURE_ENV TEXTURE_ENV_MODE MODULATE |
#TexEnv TEXTURE_ENV TEXTURE_ENV_MODE MODULATE |
713 |
Begin QUAD_STRIP |
Begin QUAD_STRIP |
714 |
TexCoord 0 0 |
TexCoord %(x0)s %(y0)s 0 %(q)s |
715 |
Vertex %(x0)s %(y0)s |
Vertex %(x0)s %(y0)s |
716 |
TexCoord 2.25 0 |
TexCoord %(x1)s %(y0)s 0 %(q)s |
717 |
Vertex %(x1)s %(y0)s |
Vertex %(x1)s %(y0)s |
718 |
TexCoord 0 2.25 |
TexCoord %(x0)s %(y1)s 0 %(q)s |
719 |
Vertex %(x0)s %(y1)s |
Vertex %(x0)s %(y1)s |
720 |
TexCoord 2.25 2.25 |
TexCoord %(x1)s %(y1)s 0 %(q)s |
721 |
Vertex %(x1)s %(y1)s |
Vertex %(x1)s %(y1)s |
722 |
End |
End |
723 |
PopAttrib |
PopAttrib |
745 |
global scale |
global scale |
746 |
scale = self.scale |
scale = self.scale |
747 |
|
|
748 |
cs3 = vs.coords.affineCoordsys(0, 0, 512, 384, self.scale, 0, 0, self.scale) |
cs3 = vs.coords.affineCoordsys(0, 0, 512, 384, |
749 |
|
cos(self.angle+self.angle2)*self.scale, |
750 |
|
sin(self.angle+self.angle2)*self.scale, |
751 |
|
-sin(self.angle+self.angle2)*self.scale, |
752 |
|
cos(self.angle+self.angle2)*self.scale, |
753 |
|
) |
754 |
vs.matcher.add(cs3, "3") |
vs.matcher.add(cs3, "3") |
755 |
|
|
756 |
cs4 = vs.coords.affineCoordsys(0, 0, |
cs4 = vs.coords.affineCoordsys(0, 0, |
757 |
self.tx * cos(self.angle) + |
self.tx, self.ty, |
|
self.ty * sin(self.angle), |
|
|
self.tx * -sin(self.angle) + |
|
|
self.ty * cos(self.angle), |
|
758 |
cos(self.angle), sin(self.angle), |
cos(self.angle), sin(self.angle), |
759 |
-sin(self.angle), cos(self.angle)) |
-sin(self.angle), cos(self.angle)) |
760 |
vs.matcher.add(cs4, "4") |
vs.matcher.add(cs4, "4") |
847 |
if k == "Next": |
if k == "Next": |
848 |
self.angle += pi/180; print "angle",round(self.angle / pi * 180) |
self.angle += pi/180; print "angle",round(self.angle / pi * 180) |
849 |
reinit = 1 |
reinit = 1 |
850 |
|
if k == "Home": self.angle2 -= pi/180; self.angle += pi/180 |
851 |
|
if k == "End": self.angle2 += pi/180; self.angle -= pi/180 |
852 |
|
|
853 |
if k == "i": self.use_stencil = not self.use_stencil |
if k == "i": self.use_stencil = not self.use_stencil |
854 |
|
|
855 |
if k == "Up": self.ty -= .1 |
if k == "Up": |
856 |
if k == "Down": self.ty += .1 |
self.tx -= .1 * sin(self.angle) |
857 |
if k == "Left": self.tx -= .1 |
self.ty -= .1 * cos(self.angle) |
858 |
if k == "Right": self.tx += .1 |
if k == "Down": |
859 |
|
self.tx += .1 * sin(self.angle) |
860 |
|
self.ty += .1 * cos(self.angle) |
861 |
|
if k == "Left": |
862 |
|
self.tx -= .1 * cos(self.angle) |
863 |
|
self.ty -= .1 * -sin(self.angle) |
864 |
|
if k == "Right": |
865 |
|
self.tx += .1 * cos(self.angle) |
866 |
|
self.ty += .1 * -sin(self.angle) |
867 |
|
|
868 |
|
|
869 |
currentScene = IrreguScene() |
currentScene = IrreguScene() |