gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] gzz/gfx/demo irregu3.py


From: Janne V. Kujala
Subject: [Gzz-commits] gzz/gfx/demo irregu3.py
Date: Fri, 01 Nov 2002 17:21:35 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Janne V. Kujala <address@hidden>        02/11/01 17:21:35

Modified files:
        gfx/demo       : irregu3.py 

Log message:
        Enhance movement bindings

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/irregu3.py.diff?tr1=1.40&tr2=1.41&r1=text&r2=text

Patches:
Index: gzz/gfx/demo/irregu3.py
diff -u gzz/gfx/demo/irregu3.py:1.40 gzz/gfx/demo/irregu3.py:1.41
--- gzz/gfx/demo/irregu3.py:1.40        Fri Nov  1 15:22:57 2002
+++ gzz/gfx/demo/irregu3.py     Fri Nov  1 17:21:33 2002
@@ -654,6 +654,7 @@
     def __init__(self):
         self.scale = texsize
         self.angle = 0
+        self.angle2 = 0
         self.tx, self.ty = 0, 0
         self.bg = background((0.7,0.7,1.0))
 
@@ -700,7 +701,7 @@
         else:
             tex2d = "Disable"
 
-
+        q = texscale
         paint = """
         PushAttrib ENABLE_BIT
         Disable ALPHA_TEST
@@ -710,13 +711,13 @@
         TexParameter TEXTURE_2D TEXTURE_MAG_FILTER NEAREST
         #TexEnv TEXTURE_ENV TEXTURE_ENV_MODE MODULATE
         Begin QUAD_STRIP
-        TexCoord 0 0
+        TexCoord %(x0)s %(y0)s 0 %(q)s
         Vertex %(x0)s %(y0)s
-        TexCoord 2.25 0
+        TexCoord %(x1)s %(y0)s 0 %(q)s
         Vertex %(x1)s %(y0)s
-        TexCoord 0 2.25
+        TexCoord %(x0)s %(y1)s 0 %(q)s
         Vertex %(x0)s %(y1)s
-        TexCoord 2.25 2.25
+        TexCoord %(x1)s %(y1)s 0 %(q)s
         Vertex %(x1)s %(y1)s
         End 
         PopAttrib
@@ -744,14 +745,16 @@
         global scale
         scale = self.scale
 
-        cs3 = vs.coords.affineCoordsys(0, 0, 512, 384, self.scale, 0, 0, 
self.scale)
+        cs3 = vs.coords.affineCoordsys(0, 0, 512, 384,
+                                       cos(self.angle+self.angle2)*self.scale,
+                                       sin(self.angle+self.angle2)*self.scale,
+                                       -sin(self.angle+self.angle2)*self.scale,
+                                       cos(self.angle+self.angle2)*self.scale,
+                                       )
        vs.matcher.add(cs3, "3")
         
         cs4 = vs.coords.affineCoordsys(0, 0,
-                                       self.tx * cos(self.angle) +
-                                       self.ty * sin(self.angle),
-                                       self.tx * -sin(self.angle) +
-                                       self.ty * cos(self.angle),
+                                       self.tx, self.ty,
                                        cos(self.angle), sin(self.angle),
                                        -sin(self.angle), cos(self.angle))
         vs.matcher.add(cs4, "4")
@@ -844,13 +847,23 @@
         if k == "Next":
             self.angle += pi/180; print "angle",round(self.angle / pi * 180)
             reinit = 1
+        if k == "Home": self.angle2 -= pi/180; self.angle += pi/180
+        if k == "End": self.angle2 += pi/180; self.angle -= pi/180
 
         if k == "i": self.use_stencil = not self.use_stencil
             
-        if k == "Up": self.ty -= .1
-        if k == "Down": self.ty += .1
-        if k == "Left": self.tx -= .1
-        if k == "Right": self.tx += .1
+        if k == "Up": 
+            self.tx -= .1 * sin(self.angle)
+            self.ty -= .1 * cos(self.angle)
+        if k == "Down":
+            self.tx += .1 * sin(self.angle)
+            self.ty += .1 * cos(self.angle)
+        if k == "Left":
+            self.tx -= .1 * cos(self.angle)
+            self.ty -= .1 * -sin(self.angle)
+        if k == "Right":
+            self.tx += .1 * cos(self.angle)
+            self.ty += .1 * -sin(self.angle)
         
 
 currentScene = IrreguScene()        




reply via email to

[Prev in Thread] Current Thread [Next in Thread]