Exemplo n.º 1
0
 def __init__(self):
   appuifw.app.exit_key_handler=self.set_exit
   appuifw.app.screen = 'full'
   self.canvas=glcanvas.GLCanvas(redraw_callback=self.redraw, event_callback=None, resize_callback=self.resize)
   appuifw.app.body=self.canvas
   self.initgl()
   while self.running:
     self.canvas.drawNow()
     e32.ao_sleep(0.0001)
Exemplo n.º 2
0
def main():
    appuifw.app.exit_key_handler = set_exit
    appuifw.app.screen = 'full'
    canvas = glcanvas.GLCanvas(redraw_callback=display,
                               event_callback=keys,
                               resize_callback=reshape)
    appuifw.app.body = canvas
    myinit()
    while running:
        canvas.drawNow()
        e32.ao_sleep(1)
Exemplo n.º 3
0
def main():
    appuifw.app.exit_key_handler = exit
    appuifw.app.screen = 'full'
    canvas = glcanvas.GLCanvas(redraw_callback=display,
                               event_callback=keysEvent,
                               resize_callback=reshape)
    appuifw.app.body = canvas
    myinit()
    while running:
        #主循环
        pass
Exemplo n.º 4
0
def main():
    appuifw.app.exit_key_handler = set_exit
    appuifw.app.screen = 'full'
    #定义界面
    canvas = glcanvas.GLCanvas(redraw_callback=display,
                               event_callback=keys,
                               resize_callback=reshape)
    appuifw.app.body = canvas
    #调用初始化
    myinit()
    #开始绘制
    while running:
        canvas.drawNow()
        e32.ao_yield()
 def initgraphics(self):
     """initgraphics(self)->None initialises graphic part of the engine"""
     appuifw.app.title = u('3D Tetris')
     appuifw.app.body = self.canvas = glcanvas.GLCanvas(
         redraw_callback=self.redraw)
     appuifw.app.exit_key_handler = self.set_exit
     glClearColor(0.0, 0.0, 0.0, 0.0)
     glClearDepthf(self.maxz + 1.0)
     self.screensize = self.canvas.size
     #self.screenmin=min(self.screensize)
     self.screendif = self.screensize[1] - self.screensize[
         0]  # >0 if vertical screen
     self.screenaspect = float(self.screensize[1]) / float(
         self.screensize[0])
     self.resetcam()
     glMatrixMode(GL_MODELVIEW)
     glLoadIdentity()
     glVertexPointerb(self.points)
     glColorPointerub(self.colors)
     glEnableClientState(GL_VERTEX_ARRAY)
     glEnableClientState(GL_COLOR_ARRAY)
     glLineWidth(2.0)
     glShadeModel(GL_FLAT)
     glEnable(GL_CULL_FACE)
     glEnable(GL_DEPTH_TEST)
     glEnable(GL_BLEND)
     glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA
                 )  # to make transparency, rtfm opengl es specs!
     glViewport(0, 0, *self.screensize)
     l0=[ (self.xyz2ind(self.minx,y, z),self.xyz2ind(self.maxx,y, z)) for z in self.rz for y in self.ry \
                                      if (y==self.miny)or(y==self.maxy)or(z==self.maxz)]  # lines parallel to OX
     l1=[ (self.xyz2ind(x,self.miny, z),self.xyz2ind(x,self.maxy, z)) for z in self.rz for x in self.rx \
                                      if (x==self.minx)or(x==self.maxx)or(z==self.maxz)]  # lines parallel to OY
     l2=[ (self.xyz2ind(x,y,self.minz),self.xyz2ind(x,y,self.maxz)) for y in self.ry for x in self.rx \
                                      if (x==self.minx)or(x==self.maxx)or(y==self.miny)or(y==self.maxy)] # to OZ
     #l0=[ (self.xyz2ind(self.minx,y, z),self.xyz2ind(self.maxx,y, z)) for z in self.rz for y in self.ry \
     #                                 if ((y==self.miny)or(y==self.maxy))and(z==self.maxz)]  # lines parallel to OX
     #l1=[ (self.xyz2ind(x,self.miny, z),self.xyz2ind(x,self.maxy, z)) for z in self.rz for x in self.rx \
     #                                 if ((x==self.minx)or(x==self.maxx))and(z==self.maxz)]  # lines parallel to OY
     #l2=[ (self.xyz2ind(x,y,self.minz),self.xyz2ind(x,y,self.maxz)) for y in self.ry for x in self.rx \
     #                                 if ((x==self.minx)or(x==self.maxx))and((y==self.miny)or(y==self.maxy))] # to OZ
     self.lines = array(GL_UNSIGNED_SHORT, 2, l0 + l1 + l2)
Exemplo n.º 6
0
    elif turning_axis == 3:
        glRotatex(iFrame << 16, 0, 0, 1 << 16)
    drawbox(15.0, 15.0, 15.0)


def set_exit():
    global running, canvas
    canvas = None
    running = 0


def keys(event):
    global turning_axis
    if event['keycode'] == key_codes.EKeyDownArrow: turning_axis = 1
    elif event['keycode'] == key_codes.EKeyRightArrow: turning_axis = 2
    elif event['keycode'] == key_codes.EKeyLeftArrow: turning_axis = 3
    elif event['keycode'] == key_codes.EKeyUpArrow: turning_axis = 0


appuifw.app.exit_key_handler = set_exit
appuifw.app.screen = 'normal'
canvas = glcanvas.GLCanvas(redraw_callback=redraw,
                           event_callback=keys,
                           resize_callback=resize)
appuifw.app.body = canvas
initgl()

while running:
    canvas.drawNow()
    e32.ao_sleep(0.0001)