def think(dt, events, kpress, mpos): global alpha, playing playing = bool(hud.dialoguebox) if playing: alpha = min(1 * dt + alpha, 1) else: alpha -= 1 * dt if alpha <= 0: state.init() scene.swap(scenes.game) return sound.setvolume(alpha) if kpress[K_ESCAPE]: playing = False for event in events: if event.type == MOUSEBUTTONDOWN: if event.button == 1: hud.dialoguebox.settext(lines.pop(0) if lines else None) if event.type == KEYDOWN and event.key == K_SPACE: hud.dialoguebox.settext(lines.pop(0) if lines else None) if event.type == KEYDOWN and event.key == K_ESCAPE: hud.dialoguebox.settext() if event.type == KEYDOWN and event.key == K_F12: graphics.screenshot() dx, dy, dr, dA = -0.02 * dt, -0.005 * dt, 0, 0 camera.move(1 * dx, 1 * dy, 0.7 * dr, 0.7 * dA) camera.think(dt) hud.think(dt)
def take_snapshot(): ''' Hardcoded screen snapshot ''' global pic_index a = graphics.screenshot() filename = "c:\\Data\\Images\\unity%02d.png" % pic_index a.save(filename) pic_index = (pic_index + 1) % 100
def take_screenshot(self): if self.running: ss = graphics.screenshot() name = os.path.join(self.dir,"mm%04d.png" % self.cnt) self.cnt += 1 ss.save(name) self.body_text.add((u"Screenshot %s" % name) + self.NL) self.timer.after(self.etime,self.take_screenshot)
def sendScreenshot(self): fn = self.getScreenshotFilename() shot = graphics.screenshot() shot.save(fn) note("Saved screenshot as %s" % fn) f = file(fn, "rb") self.send(NUM_SCREENSHOT_REPLY, f.read().encode("base64")) f.close()
def pantalla(): c.rectangle([4, 147, 13, 156], 0x0000FF) c.rectangle([4, 149, 7, 154], 0x0000FF) c.rectangle([9, 149, 13, 154], 0x0000FF) c.line([11, 151, 11, 152], 0x0000FF) im = graphics.screenshot() name = unicode(time.strftime("%d%m%y%H%M%S", time.localtime())) im.save(u"C:\\Nokia\\Images\\ %s .jpg" % name) hvgjbgif()
def hide(): global ss import laa laa.execute(0x102750f0) laa.execute(0x101fd64c) ao_sleep(0) ss = screenshot() ao_sleep(0) del laa
def snap(self): #def snap(self): """ send a snapshot of the phone screen to PC push which displays it """ if self.snapping: self.redo = True return self.snapping = True # grab a snapshot, store to file filename = os.path.join( os.getcwd(), 'snap.jpg' ) graphics.screenshot().save( filename ) # send the file to PC self.server.send( 'snap snapshot' ) self.server.send_file( filename ) while self.redo: self.redo = False graphics.screenshot().save( filename ) # send the file to PC self.server.send( 'snap snapshot' ) self.server.send_file( filename ) # clean up #os.remove( filename ) self.snapping = False
def chat_client(): conn = socket.socket(socket.AF_BT, socket.SOCK_STREAM) address, services = socket.bt_discover() print services channel = services["COM11"] conn.connect((address, channel)) print "Connected to server!" conn.send("hello") while 1: img=graphics.screenshot() img.save("d:\\t.png") t=open("d:\\t.png","rb").read() out=zlib.compress(t,zlib.Z_BEST_COMPRESSION) conn.send("010203".decode("hex")+out+"040506".decode("hex")) time.sleep(0)
def think(dt, events, kpress, mpos): global alpha if playing: alpha = min(2 * dt + alpha, 1) else: alpha -= 2 * dt if alpha <= 0: if selected is None: scene.pop() else: scene.push(scenes.dialogue) return sound.setvolume(alpha) if kpress[K_ESCAPE]: scene.pop() for event in events: if event.type == MOUSEBUTTONDOWN and event.button == 1: px, py = mpos if hud.click((px, settings.sy - py)): continue if event.type == KEYDOWN and event.key == K_CAPSLOCK: settings.swaparrows = not settings.swaparrows if event.type == KEYDOWN and event.key == K_F12: graphics.screenshot() dx, dy, dr, dA = -0.02 * dt, -0.005 * dt, 0, 0 camera.move(1 * dx, 1 * dy, 0.7 * dr, 0.7 * dA) camera.think(dt) px, py = mpos hud.point((px, settings.sy - py)) hud.think(dt)
def tWrap(t,w=None,f=("normal",15)): import graphics import sysinfo if w==None: w=sysinfo.display_pixels()[0] img=graphics.screenshot() mt=lambda x,s=f,m=-1:\ img.measure_text(x,font=s,maxwidth=m) t=t.replace("\r\n","\n").replace("\r","\n").split("\n") (sub,length)=([],0) for i in xrange(len(t)): if t[i]=="\n" or mt(t[i])[1]<=w: sub.append(t[i]) continue while True: st=t[i][:mt(t[i],m=w)[2]-length] if mt(st,m=w)[1]<=w: sub.append(st) t[i]=t[i][len(st):] length=0 if not t[i]:break else:length+=1 del graphics,sysinfo return sub
def checkKeys(self): mode, location = globs.location.split('.') if mode == "menu": location = globs.menus[location] elif mode == "game": location = globs.currentgame # General # What escape does in different locations if self.keydown(pygame.K_ESCAPE): if globs.focused: globs.focused.unfocus() else: if mode == "game": globs.currentgame.systemMenu.toggle() elif mode == "menu" and location.__class__.__name__ != "MainMenu": location.backButton.clicked() elif mode == "menu": globs.running = False # Screenshot if self.keydown(pygame.K_F12): graphics.screenshot() for event in self.events: if event.type == pygame.MOUSEBUTTONUP: #print(event.dict['pos']) X, Y = event.dict['pos'] buttonlist = pygame.sprite.Group() if mode == "menu": buttonlist.add(location.buttons) elif mode == "game": print(event.button) if event.button == 1: buttonlist.add(location.buttons) if not globs.focused: globs.character.weapon.unattack() buttonlist.add(globs.currentgame.clickableEntities) elif event.button == 3: for sprite in globs.currentgame.living_entities: if sprite != globs.character: if sprite.rect.collidepoint(X+globs.cameraX, Y+globs.cameraY): print(sprite) globs.currentgame.target = sprite for button in buttonlist: #print("{} on {}".format(button, ("{}, {}".format(button.X, button.Y)))) if button.rect.collidepoint(X, Y): #if button.X <= X and button.X+button.image.get_width() >= X and button.Y <= Y and button.Y+button.image.get_height() >= Y: button.clicked() if event.type == pygame.MOUSEMOTION: pass # If something is focused if globs.focused: #print(globs.focused.__class__.__name__) # If a textbox is focused if globs.focused.__class__.__name__ in ['InputBox', 'ChatInputBox']: self.textBoxInput() # In Game elif mode == 'game': if self.newly_pressed[pygame.K_q] and self.keyup(pygame.K_q): # Equip/unequip weapon if globs.character.weapon != None and globs.character.weapon.equipped: globs.character.weapon.unequip() else: globs.character.weapon.equip() if self.newly_pressed[pygame.K_w]: # entityAction globs.character.worldAction() if self.newly_pressed[pygame.K_RETURN]: if self.keydown(pygame.K_RETURN): globs.currentgame.chatInputBox.clicked() if pygame.mouse.get_pressed()[0]: globs.character.weapon.attack() # Movement force = 25 if self.pressed[pygame.K_SPACE]: # Jump globs.character.jump() if self.pressed[pygame.K_w]: # Up (Climb) globs.character.climb() if self.pressed[pygame.K_s]: # Down pass if self.pressed[pygame.K_a]: # Left globs.character.run("left") if self.pressed[pygame.K_d]: # Right globs.character.run("right") if self.pressed[pygame.K_LSHIFT]: globs.character.sprint()
def screenshot(): img = graphics.screenshot() imgName = u"E:\\Images\\Screenshot" + str(int(time.time)) + ".png" img.save(imgName)
def wybierz(): global lista global listbox global li global screen global img global ustaw global ekran global mp3 global sciezkaplik global ladow global sck global pb mp3 = 0 sciezkaplik = sck index = listbox.current() appuifw.app.body = listbox = appuifw.Listbox( [(u'Beeper 6.00', u'symbian-freak.com')], ukryj) if int(ustaw[45:48]) <> 0: screen.hide() if lista[index][0] == u'General Options': k = 1 while (k > 0): k = appuifw.popup_menu([ u'Alert sound', u'Alert volume', u'Hour alert range', u'Text style', u'Bar info', u'Startup appearance' ], u'General Options') if k == 1: q = appuifw.popup_menu( [u'100%', u'75%', u'50%', u'25%', u'Silent'], u'Alert volume') if q <> None: ustaw = ustaw[0:36] + '%03d' % (100 - (q * 25)) + ustaw[39:57] elif k == 2: q = appuifw.query(u'Begin (0-23)', 'number', int(ustaw[39:42])) if (q <> None) and (q < 24): ustaw = ustaw[0:39] + '%03d' % q + ustaw[42:57] q = appuifw.query(u'End (0-23)', 'number', int(ustaw[42:45])) if (q <> None) and (q < 24): ustaw = ustaw[0:42] + '%03d' % q + ustaw[45:57] elif k == 3: q = appuifw.popup_menu( [u'Normal', u'Bold', u'Normal italic', u'Bold italic'], u'Text style') if q <> None: ustaw = ustaw[0:45] + '%03d' % ( q + (10 * (int(ustaw[45:48]) / 10))) + ustaw[48:57] elif k == 4: q = appuifw.popup_menu( [u'None', u'Time', u'Date', u'Ram', u'Signal', u'Battery'], u'Bar info') if q <> None: ustaw = ustaw[0:45] + '%03d' % ( (q * 10) + (int(ustaw[45:48]) % 10)) + ustaw[48:57] elif k == 5: q = appuifw.popup_menu( [u'Show after startup', u'Hide after startup'], u'Startup appearance') if q <> None: ustaw = ustaw[0:48] + '%03d' % q + ustaw[51:57] elif lista[index][0] == u'Bar Face': k = 0 while k is not None: k = appuifw.popup_menu( [u'Bar size', u'Bar position', u'Text position'], u'Bar Face') if k == 0: q = appuifw.query(u'Value X', 'number', int(ustaw[0:3])) if (q <> None) and (q < 353): ustaw = '%03d' % q + ustaw[3:57] q = appuifw.query(u'Value Y', 'number', int(ustaw[3:6])) if (q <> None) and (q < 417): ustaw = ustaw[0:3] + '%03d' % q + ustaw[6:57] if k == 1: q = appuifw.query(u'Value X', 'number', int(ustaw[6:9])) if (q <> None) and (q < 353): ustaw = ustaw[0:6] + '%03d' % q + ustaw[9:57] q = appuifw.query(u'Value Y', 'number', int(ustaw[9:12])) if (q <> None) and (q < 417): ustaw = ustaw[0:9] + '%03d' % q + ustaw[12:57] if k == 2: q = appuifw.query(u'Value X', 'number', int(ustaw[12:15])) if (q <> None) and (q < 353): ustaw = ustaw[0:12] + '%03d' % q + ustaw[15:57] q = appuifw.query(u'Value Y', 'number', int(ustaw[15:18])) if (q <> None) and (q < 417): ustaw = ustaw[0:15] + '%03d' % q + ustaw[18:57] elif lista[index][0] == u'Bar Color': k = 0 while k is not None: k = appuifw.popup_menu([u'Bar color', u'Text color'], u'Bar Color') if k == 0: q = appuifw.query(u'Value R (0-256) (888)', 'number', int(ustaw[18:21])) if q == 888: ustaw = ustaw[0:18] + '888000000' + ustaw[27:57] ima.blit(graphics.screenshot(), ((int(ustaw[6:9]), int(ustaw[9:12])), (int(ustaw[6:9]) + int(ustaw[0:3]), int(ustaw[9:12]) + int(ustaw[3:6])))) else: if (q <> None) and (q < 256): ustaw = ustaw[0:18] + '%03d' % q + ustaw[21:57] q = appuifw.query(u'Value G (0-256)', 'number', int(ustaw[21:24])) if (q <> None) and (q < 257): ustaw = ustaw[0:21] + '%03d' % q + ustaw[24:57] q = appuifw.query(u'Value B (0-256)', 'number', int(ustaw[24:27])) if (q <> None) and (q < 257): ustaw = ustaw[0:24] + '%03d' % q + ustaw[27:57] elif k == 1: q = appuifw.query(u'Value R (0-255)', 'number', int(ustaw[27:30])) if (q <> None) and (q < 256): ustaw = ustaw[0:27] + '%03d' % q + ustaw[30:57] q = appuifw.query(u'Value G (0-255)', 'number', int(ustaw[30:33])) if (q <> None) and (q < 256): ustaw = ustaw[0:30] + '%03d' % q + ustaw[33:57] q = appuifw.query(u'Value B (0-255)', 'number', int(ustaw[33:36])) if (q <> None) and (q < 256): ustaw = ustaw[0:33] + '%03d' % q + ustaw[36:57] elif lista[index][0] == u'Extras': p = 0 while p is not None: p = appuifw.popup_menu([ u'Test alarm', u'Highlight screen', u'Battery charge', u'Restart phone', u'Export sms', u'Program starter', u'Call recorder' ], u'Extras') if p == 0: try: if os.path.isdir(sciezkaplik): q = appuifw.query(u'Sound file (0-24)', 'number', 0) mp3 = audio.Sound.open( unicode(sciezkaplik + '\\' + str('%02d' % q) + '.mp3')) else: mp3 = audio.Sound.open(unicode(sciezkaplik)) mp3.play() audio.Sound.set_volume( mp3, int( audio.Sound.max_volume(mp3) * (float(int(ustaw[36:39])) / float(100)))) except: pass try: miso.vibrate(500, 100) except: pass elif p == 1: if ekran > 0: ekran = 0 else: ekran = 1 p = None elif p == 2: if ladow > 0: ladow = 0 else: ladow = 1 p = None elif p == 3: if appuifw.query(u'Restart phone now ?', 'query') == True: e32.start_exe(u'z:\\sys\\bin\\starter.exe', '') elif p == 4: lista = [(u'Please wait', u'')] appuifw.app.body = listbox = appuifw.Listbox(lista, nic) index = 0 tx = appuifw.Text() inb = inbox.Inbox() msgs = inb.sms_messages() tx.clear() for msg in msgs: mies = time.strftime('%m', time.localtime(inb.time(msg))) dz = time.strftime('%d', time.localtime(inb.time(msg))) rok = time.strftime('%Y', time.localtime(inb.time(msg))) czas = time.strftime('%H:%M:%S', time.localtime(inb.time(msg))) tx.add(u'Sender: ') tx.add(unicode(inb.address(msg))) tx.add(u'\n') tx.add(u'Date: ') tx.add(unicode(dz + '.' + mies + '.' + rok)) tx.add(u'\n') tx.add(u'Time: ') tx.add(unicode(czas)) tx.add(u'\n') tx.add(unicode(inb.content(msg))) tx.add(u'\n') tx.add(u'\n') if len(tx.get()) == 0: tx.add(u'None message') tx.add(u'\n') (rok, mies, dz, godz, min, x, x, x, x) = time.localtime() rok = str(rok)[2:4] mies = '%02d' % (mies) dz = '%02d' % (dz) godz = '%02d' % (godz) min = '%02d' % (min) appuifw.app.body = listbox = appuifw.Listbox( [(u'Beeper 6.00', u'symbian-freak.com')], nic) q = appuifw.query( u'C:\\Data\\', 'text', unicode(rok + mies + dz + godz + min + '.txt')) if q is not None: k = tx.get() try: f = open('c:\\data\\' + q, 'w') k = k.replace(unichr(8233), unichr(13) + unichr(10)) f.write(k.encode('utf-16')) f.close() except: appuifw.note(u'Error', 'error') else: if appuifw.query(u'Open file now ?', 'query') == True: appuifw.Content_handler().open_standalone( 'c:\\data\\' + q) elif p == 5: q = 0 while q <> None: q = appuifw.popup_menu([ u'Program ' + unicode(pb), u'Time ' + unicode(ustaw[51:53]) + u':' + unicode(ustaw[53:55]) ], u'Program starter') if q == 0: k = appuifw.popup_menu(ppb, u'Program') if k is not None: if k <> 2: pb = ppb[k] else: k = appuifw.query(u'X:\\Sys\\Bin\\', 'text', u'program.exe') if k is not None: if len(k) > 4: if k[len(k) - 4:] == '.exe': pb = k[:len(k) - 4] if q == 1: k = appuifw.query( u'Time', 'time', float( int(ustaw[51:53]) * 3600 + int(ustaw[53:55]) * 60)) if k is not None: ustaw = ustaw[0:51] + str( '%02d' % (k // 3600)) + str('%02d' % ((k - ( (k // 3600) * 3600)) // 60)) + ustaw[55:57] elif p == 6: q = 0 while q <> None: q = appuifw.popup_menu([ unicode(u'File path ' + fpp[int(ustaw[56:57])]), unicode('File format ' + aww[int(ustaw[55:56])]) ], u'Call recorder') if q == 0: k = appuifw.popup_menu(fpp, u'File path') if k is not None: ustaw = ustaw[0:56] + str(k) if q == 1: k = appuifw.popup_menu(aww, u'File format') if k is not None: ustaw = ustaw[0:55] + str(k) + ustaw[56:57] screen = TopWindow.TopWindow() screen.size = (int(ustaw[0:3]), int(ustaw[3:6])) screen._set_position((int(ustaw[6:9]), int(ustaw[9:12]))) screen.add_image(img, (0, 0)) if (lista[index][0] == u'General Options') and (k == 0): lista = [u'..'] listbox = appuifw.Listbox(lista, pozycja) sck = sciezkaplik pozycja() else: try: xt = str(ustaw) + chr(10) + str(sciezkaplik) + chr(10) + str(pb) dat = open('c:\\system\\Beeper.data', 'w') dat.write(xt) dat.close() except: pass xt = 0 li = 0 lista = [ (u'General Options', u'(' + str(int(ustaw[36:39])) + ') (' + str(int(ustaw[39:42])) + ',' + str(int(ustaw[42:45])) + ') (' + str(1 + int(ustaw[45:48]) % 10) + ') (' + str(1 + int(ustaw[45:48]) / 10) + ') (' + str(1 + int(ustaw[48:51])) + ')'), (u'Bar Face', u'(' + str(int(ustaw[0:3])) + ',' + str(int(ustaw[3:6])) + ') (' + str(int(ustaw[6:9])) + ',' + str(int(ustaw[9:12])) + ') (' + str(int(ustaw[12:15])) + ',' + str(int(ustaw[15:18])) + ')'), (u'Bar Color', u'(' + str(int(ustaw[18:21])) + ',' + str(int(ustaw[21:24])) + ',' + str(int(ustaw[24:27])) + ') (' + str(int(ustaw[27:30])) + ',' + str(int(ustaw[30:33])) + ',' + str(int(ustaw[33:36])) + ')'), (u'Extras', u'(Additional Functions)') ] appuifw.app.body = listbox = appuifw.Listbox(lista, wybierz) appuifw.app.menu = [(u'Hide program', ukryj), (u'About', prog)] appuifw.app.exit_key_handler = koniec if int(ustaw[45:48]) <> 0: screen.show()
except: try: dat.close() except: pass ustaw = u'060015000000001012000000000255255255100006022010000060002' sck = sciezkaplik = '' pb = ppb[3] xt = 0 sck = sciezkaplik = sck.replace(chr(10), '') if int(ustaw[48:51]) == 1: ukryj() screen = TopWindow.TopWindow() img = graphics.Image.new((int(ustaw[0:3]), int(ustaw[3:6]))) ima = graphics.Image.new((int(ustaw[0:3]), int(ustaw[3:6]))) if int(ustaw[18:21]) == 888: ima.blit(graphics.screenshot(), ((int(ustaw[6:9]), int(ustaw[9:12])), (int(ustaw[6:9]) + int(ustaw[0:3]), int(ustaw[9:12]) + int(ustaw[3:6])))) def wybierz(): global lista global listbox global li global screen global img global ustaw global ekran global mp3 global sciezkaplik global ladow
reg = re.findall(r'(?<=class\=bld\>).+?(?=\ \;)', htmlstr) reg = reg[0] def quit(): global running running = 0 appuifw.app.body = m = appuifw.Canvas() appuifw.app.exit_key_handler = quit appuifw.app.title = cn("汇率查看") appuifw.app.screen = 'normal' appuifw.app.menu = [(cn('美元'), USD), (cn('日元'), JPY), (cn('欧元'), EUR), (cn('英镑'), GBP), (cn('港币'), HKD), (cn('台币'), TWD), (cn('加元'), CAD), (cn('韩元'), KRW)] img = graphics.Image.new((m.size)) while running: img.clear(0xaaaaaa) img.text((60, 40), cn('汇率查看'), 0xffffff, font=ziti) img.line((10, 43, 160, 43), 0xffffff) img.line((100, 43, 100, 110), 0xffffff) img.line((10, 80, 160, 80), 0xffffff) img.line((10, 110, 160, 110), 0xffffff) img.text((20, 70), cn('人民币兑') + country, 0xffffff, font=ziti) img.text((20, 100), country + cn('兑人民币'), 0xffffff, font=ziti) img.text((105, 70), cn(str(reg)[:5]), 0xffffff, font=ziti) img.text((105, 100), cn(str(1 / float(reg))[:5]), 0xffffff, font=ziti) m.blit(img) graphics.screenshot().save('c:\\ad.jpg') e32.ao_yield()
def screen_shot(): ''' Take a screen snapshot ''' if DEBUG: im = graphics.screenshot() im.save(FILE_PIC)
def main(): _player_moved = False _refresh_map = False get_input() handle_input() if not LIFE[SETTINGS["controlling"]]["dead"]: if LIFE[SETTINGS["controlling"]]["asleep"]: gfx.fade_to_black(255) gfx.start_of_frame() gfx.end_of_frame() while LIFE[SETTINGS["controlling"]]["asleep"]: _played_moved = True _refresh_map = True gfx.title(LIFE[SETTINGS["controlling"]]["asleep_reason"]) logic.tick_all_objects(ignore_tickrate=True, ignore_pause=True) if LIFE[SETTINGS["controlling"]]["dead"]: break else: _player_moved = True if _refresh_map: gfx.refresh_view("map") if not _player_moved: logic.tick_all_objects(ignore_tickrate=True) draw_targeting() move_camera(SETTINGS["camera_track"]) # TODO: Deselect so we can get rid of this call if SELECTED_TILES[0]: gfx.refresh_view("map") if not SETTINGS["last_camera_pos"] == SETTINGS["camera_track"][:]: if EVENTS or MENUS: _visible_chunks = sight.scan_surroundings(LIFE[SETTINGS["following"]], judge=False, get_chunks=True) alife.brain.flag(LIFE[SETTINGS["following"]], "visible_chunks", value=_visible_chunks) _cam_x = numbers.clip( LIFE[SETTINGS["following"]]["pos"][0] - MAP_WINDOW_SIZE[0] / 2, 0, MAP_SIZE[0] - MAP_WINDOW_SIZE[0] / 2 ) _cam_y = numbers.clip( LIFE[SETTINGS["following"]]["pos"][1] - MAP_WINDOW_SIZE[1] / 2, 0, MAP_SIZE[1] - MAP_WINDOW_SIZE[1] / 2 ) else: _visible_chunks = sight.scan_surroundings(LIFE[SETTINGS["controlling"]], judge=False, get_chunks=True) alife.brain.flag(LIFE[SETTINGS["controlling"]], "visible_chunks", value=_visible_chunks) SETTINGS["last_camera_pos"] = SETTINGS["camera_track"][:] _cam_x = numbers.clip( LIFE[SETTINGS["controlling"]]["pos"][0] - MAP_WINDOW_SIZE[0] / 2, 0, MAP_SIZE[0] - MAP_WINDOW_SIZE[0] / 2 ) _cam_y = numbers.clip( LIFE[SETTINGS["controlling"]]["pos"][1] - MAP_WINDOW_SIZE[1] / 2, 0, MAP_SIZE[1] - MAP_WINDOW_SIZE[1] / 2 ) maps.render_lights() if "--worldmap" in sys.argv: render_map.render_map(WORLD_INFO["map"], force_camera_pos=(_cam_x, _cam_y, 2)) else: render_map.render_map( WORLD_INFO["map"], los=LIFE[SETTINGS["controlling"]]["fov"], force_camera_pos=(_cam_x, _cam_y, 2) ) items.draw_items() life.draw_life() if LIFE[SETTINGS["controlling"]]["dead"] and not EVENTS: if not death(): return False if SETTINGS["draw life info"] and SETTINGS["following"]: life.draw_life_info() gfx.draw_message_box() menus.align_menus() menus.draw_menus() gfx.draw_status_line() gfx.draw_console() gfx.start_of_frame() gfx.end_of_frame() if "--fps" in sys.argv: print tcod.sys_get_fps() if (SETTINGS["recording"] and logic.can_tick()) or "--worldmap" in sys.argv: gfx.screenshot() if "--worldmap" in sys.argv: SETTINGS["running"] = False
def readline(self): #print >> self.server.orig_stdout, 'calling readline' if self.readbuf: # if buffer has content, return it (and clear) buf, self.readbuf = self.readbuf[:], [] return buf # else read the next line line = self.server.readline().rstrip() #print >> self.server.orig_stdout, 'line:', line # parse the command, this is connected to PC shell # interface that sends commands head = line.split( ' ', 1 )[0] if head == 'cmdline': #return self.server.recv_data() line = self.server.recv_pyobj() head = line.split( ' ', 1 )[0] if head in pushlib.__all__: self.server.interpreter.runsource( 'pushlib.%s( "%s" )' % (head, line) ) return '' else: return line elif head == 'quit': self.server.quit() return '' elif head == 'reset': self.server.reset() return self.readline() elif head == 'sync': self.synchronize() return self.readline() elif head == 'syncl': self.synchronize( with_reload = True ) return self.readline() elif head == 'snapshot': # grab a snapshot, store to file filename = os.path.join( os.getcwd(), 'snap.jpg' ) graphics.screenshot().save( filename ) # send the file to PC self.server.send_file( filename ) # clean up os.remove( filename ) # phone end just continues reading input... return self.readline() elif head == 'view': # use the first matching filename for filename in glob.glob( line.split( ' ' )[1] ): if ( os.path.splitext( filename )[1].lower() in ['.jpg', '.png'] and os.path.isfile( filename ) ): # tell it was OK, send the file self.server.send( '1' ) self.server.send( filename ) self.server.send_file( filename ) return self.readline() # did not find a single matching image self.server.send( '0' ) # phone end just continues reading input... return self.readline() elif head == 'runstartup': STARTUPFILE='c:\\startup.py' if os.path.exists( STARTUPFILE ): self.server.send( 'output', 'Running %s...' % STARTUPFILE ) self.server.interpreter.runsource( 'execfile( "%s", globals(), locals() )' % STARTUPFILE ) return '' return line
# Copyright (c) 2005 Nokia Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import graphics picture = graphics.screenshot() picture.save(u'screen.jpg') print "screenshot written"
def USD(): global country country = cn('美元') graphics.screenshot().save('c:\\ada.jpg') join('USD') convert()
import graphics, appuifw def m(x): return x.decode('utf-8') img = graphics.screenshot() #截图 img.save('e:\\screenshot.jpg') #将所截图像保存起来 appuifw.note(m('截图成功'), 'conf')
class Engine: """Main class containing most of functions and variables""" # almost all fields of class Engine: # screensize, screenaspect running = 0 # 0-game not initialized or error happened, 1-game is running delay = 1.0 # pause between figure falls one more cube down canvas = None # canvas for drawing #minx, maxx = -3, 3 # min and max coordinates for points #miny, maxy = -3, 3 # (but cubes must have coords less than max #minz, maxz = 3, 13 # (as there are n-1 gaps between n points)) #dx, dy, dz=maxx-minx+1, maxy-miny+1, maxz-minz+1 # x,y,z dimensions. But the well is (dx-1)*(dy-1)*(dz-1) cubes #rx, ry, rz=range(minx,maxx+1), range(miny,maxy+1), range(minz,maxz+1) #points=array(GL_BYTE,3,[[x,y,-z] for z in rz for y in ry for x in rx]) # z needs to be actually negative because of glFrustumpf() #colortable=[((random.randrange(0x100)),(random.randrange(0x100)),(random.randrange(0x100)),0xff) for i in range(dz)] # colortable[i]=color used for all points with coord z=i #colors=array(GL_UNSIGNED_BYTE,4,[colortable[i] * (dx*dy) for i in range(dz)]) lines = None # initialised at initgraphics() as it needs method xyz2ind() cubes = None # initialised at initgame(). cubes is a list of lists of lists of bool which shows is cube free # Use methods isfree() and setfree() rather than field cubes figure = [None, None] #[Figure() for i in range(2)] # falling and next figures score = 0 scoretable = (1, 10, 30, 60, 100) exit_type = 0 # 0-exit 1-restart 2-show score def __init__(self): if self.optionsmenu(): self.initgraphics() self.initgame() def optionsmenu(self): """self.optionsmenu(self)->shows self.options menu which lets user to change self.options, returns True if user presses play""" self.old_body = appuifw.app.body self.old_exit_key_handler = appuifw.app.exit_key_handler self.path = 'c:\\Private\\' + UID + '\\' self.needsave = 0 class OptionError(Exception): pass class Option: keynames = { kc.EKeyLeftArrow: 'влево', kc.EKeyRightArrow: 'вправо', kc.EKeyUpArrow: 'вверх', kc.EKeyDownArrow: 'вниз', kc.EKeySelect: 'OK', kc.EKeyStar: '*', kc.EKeyHash: '#', kc.EKeyYes: 'зеленая', kc.EKeyNo: 'красная', kc.EKeyLeftSoftkey: 'левый софт', kc.EKeyRightSoftkey: 'правый софт', kc.EKeyMenu: 'меню', kc.EKeyBackspace: '<-', kc.EKeyEdit: 'карандаш', 0: 'нет клавиши' } def __init__(self, title, init, lst=None, func=lambda self: str(self.value)): self.title = title self.value = init self.lst = lst self.f = func def keyname(self): x = self.value if kc.EKey0 <= x <= kc.EKey9: return str(x - kc.EKey0) if self.keynames.has_key(x): return self.keynames[x] else: return '#' + str(x) def play(): self.running = 1 lock.signal() def default(): try: if os.path.exists(self.path + 'config.txt'): os.remove(self.path + 'config.txt') except OSError: appuifw.note(u('Не вышло'), 'error') else: self.needsave = 0 exit(1) def about(): global version globalui.global_msg_query( u('3D Тетрис\nАвтор: Elrian\nВерсия: %s\nwww.dimonvideo.ru') % str(version), u('Об игре'), 0) def thanks(): globalui.global_msg_query( u('''Спасибо всем следующим людям:\n\ Elrian - куда ж без меня:)\n\ motix и vlad007700 - за дельные советы и замечания;\n\ REDNBLACK.sk, werton, K.U, Abdolban, Drfss07, keytujd, maxel85, Ithan, atrant и всем остальным (чьи ники, к сожалению, не сохранились), \ писавшим в комментариях к версиям 1.0-3.2 - за предложения и поддержку;\n\ Всем, еще напишущим в комментарии к версиям >= 4.0 - за помощь в улучшении программы;\n\ Всем, качавшим файл с http://www.dimonvideo.ru/smart/uploader/4/208942/0/0 - за тестирование;\n\ Неизвестному программисту, еще давно написавшему 3D Tetris под DOS - за идею тетриса в 3D;\n\ DimonVideo - за замечательный сайт;\n\ Гвидо Ван Россуму - за создание языка программирования Python \ (который вообще-то читается как "пайтон" и не имеет никакого отношения к змеям, а только к шоу Monty Python’s Flying Circus);\n\ Персонально ТЕБЕ - за то, что читал все эти благодарности'''), u('Благодарности'), 0) def exit(type=0): self.exit_type = type wanttoplay = 0 lock.signal() def change(): c = self.canvas.current() if self.cur_tab == 0: if c == 0: r = appuifw.query(self.options[c].title, 'float', self.options[c].value) if r != None: if (0 <= r < 1.5): self.options[c].value = r else: appuifw.note( u('Скорость должна быть в пределах:\n0<=v<1.5' ), 'error') elif c == 1: r = appuifw.query(self.options[c].title, 'number', self.options[c].value) if r != None: if (4 <= r <= 20) and (r % 2 == 0): self.options[c].value = r else: appuifw.note( u('Ширина должна быть четной и в пределах:\n4<=x<=20' ), 'error') elif c == 2: r = appuifw.query(self.options[c].title, 'number', self.options[c].value) if r != None: if (4 <= r <= 20) and (r % 2 == 0): self.options[c].value = r else: appuifw.note( u('Длина должна быть четной и в пределах:\n4<=y<=20' ), 'error') elif c == 3: r = appuifw.query(self.options[c].title, 'number', self.options[c].value) if r != None: if (4 <= r <= 20): self.options[c].value = r else: appuifw.note( u('Глубина должна быть в пределах:\n4<=z<=20'), 'error') elif self.cur_tab == 1: appuifw.app.body = appuifw.Canvas(event_callback=catch_key) appuifw.app.body.clear(0) appuifw.app.body.text((5, 40), u('Нажми клавишу для:'), fill=0x00ff00) appuifw.app.body.text((40, 80), self.keyopt[c].title, fill=0xff0000) appuifw.app.body.text((5, 120), u('(не софткей и красную кнопку)'), fill=0x00ff00) appuifw.app.body.text((5, 160), u('Очистка через 3 секунды'), fill=0x00ff00) appuifw.app.set_tabs([], None) self.options[c].value = 0 self.timer = e32.Ao_timer() self.timer.after(3, self.lock2.signal) self.lock2.wait() self.timer.cancel() appuifw.app.body = self.canvas appuifw.app.set_tabs( [u('Игра'), u('Управление'), u('Экран')], tab_cb) appuifw.app.activate_tab(self.cur_tab) elif self.cur_tab == 2: if c == 0: orients = ['automatic', 'portrait', 'landscape'] r = appuifw.popup_menu([u(i) for i in self.options[c].lst], self.options[c].title) if r != None: try: appuifw.app.orientation = orients[r] self.options[c].value = r except: appuifw.note( u('Смартфон не поддерживает смену ориентации!' ), 'error') elif c == 1: r = appuifw.query(self.options[c].title, 'number', self.options[c].value) if r != None: if (0 <= r <= 255): self.options[c].value = r else: appuifw.note( u('Непрозрчачность должна быть в пределах от 0 до 255' ), 'error') self.needsave = 1 self.canvas.set_list([(opt.title, u(opt.f(opt))) for opt in self.options], c) def catch_key(event): if event['type'] == appuifw.EEventKey: r = event['keycode'] c = self.canvas.current() self.options[c].value = r self.lock2.signal() def tab_cb(n): self.cur_tab = n if n == 0: self.options = self.gameopt elif n == 1: self.options = self.keyopt elif n == 2: self.options = self.screenopt self.canvas.set_list([(opt.title, u(opt.f(opt))) for opt in self.options], 0) def saveoptions(): # Why does most users have python 1.4.5? It doesn't even normally understand try-except-finally def x(s): return s.encode('utf-8') try: try: f = open(self.path + 'config.txt', 'w') f.write('\xef\xbb\xbf') # BOM mark f.write('3D Tetris configuration\n') f.write('version/' + str(version) + '\n') for opt in self.gameopt: f.write('game/' + x(opt.title) + '/' + str(opt.value) + '\n') for opt in self.keyopt: f.write('key/' + x(opt.title) + '/' + str(opt.value) + '\n') for opt in self.screenopt: f.write('screen/' + x(opt.title) + '/' + str(opt.value) + '\n') except: appuifw.note(u('Настройки сохранить не удалось!'), 'error') finally: try: f.close() except: pass def loadoptions(): # Why does most users have python 1.4.5? It doesn't even normally understand try-except-finally try: try: f = open(self.path + 'config.txt', 'r') s = f.readline() if s[:3] == '\xef\xbb\xbf': # BOM mark s = s[3:] if s != '3D Tetris configuration\n': raise OptionError('Ошибка в заголовке') s = f.readline() if s.split('/')[0] != 'version': raise OptionError('Не указана версия') while 1: s = f.readline() if s == '': break else: s = s[: -1] # [:-1] is cool smile! Seriously I cut off \n s = u(s) p = s.split(u('/')) if len(p) != 3: raise OptionError('Не 2 слэша в строке') if p[0] == u('game'): self.options = self.gameopt elif p[0] == u('key'): self.options = self.keyopt elif p[0] == u('screen'): self.options = self.screenopt else: raise OptionError('Неизвестный префикс') for opt in self.options: if opt.title == p[1]: break else: raise OptionError('Атрибут не найден') try: if p[2].find('.') == -1: opt.value = int(p[2]) else: opt.value = float(p[2]) except: raise OptionError('Неверное значение') finally: f.close() except OptionError, e: appuifw.note(u('Плохой файл настроек: %s\nИсправлено.' % e), 'conf') self.needsave = 1 self.gameopt = [ Option(u('Скорость'), 0.5), Option(u('Ширина'), 6), Option(u('Длина'), 6), Option(u('Глубина'), 10) ] self.keyopt = [ Option(u('влево'), kc.EKeyLeftArrow, lambda: self.figure[0].move(-1, 0, 0), lambda self: self.keyname()), Option(u('вправо'), kc.EKeyRightArrow, lambda: self.figure[0].move(1, 0, 0), lambda self: self.keyname()), Option(u('вверх'), kc.EKeyUpArrow, lambda: self.figure[0].move(0, 1, 0), lambda self: self.keyname()), Option(u('вниз'), kc.EKeyDownArrow, lambda: self.figure[0].move(0, -1, 0), lambda self: self.keyname()), Option(u('опустить'), kc.EKeySelect, lambda: self.figure[0].move(0, 0, 1), lambda self: self.keyname()), #Option(u('скастовать магию'), kc.EKeyBackspace, lambda:self.figure[0].move(0,0,-1), lambda self:self.keyname()), # cheat! Option(u('вращать пр ч. стрелки'), kc.EKey1, lambda: self.figure[0].rotate(4, 0, 2), lambda self: self.keyname()), Option(u('вращать по ч. стрелке'), kc.EKey3, lambda: self.figure[0].rotate(1, 3, 2), lambda self: self.keyname()), Option(u('вращать вперед'), kc.EKey2, lambda: self.figure[0].rotate(0, 5, 1), lambda self: self.keyname()), Option(u('вращать назад'), kc.EKey5, lambda: self.figure[0].rotate(0, 2, 4), lambda self: self.keyname()), Option(u('вращать налево'), kc.EKey4, lambda: self.figure[0].rotate(2, 1, 3), lambda self: self.keyname()), Option(u('вращать направо'), kc.EKey6, lambda: self.figure[0].rotate(5, 1, 0), lambda self: self.keyname()), #Option(u('подстройка управления'),kc.EKeyBackspace, lambda:self.resetwell(), lambda self:self.keyname()), Option(u('камера пр ч. стрелки'), kc.EKey7, lambda: self.rotatecam(+10.0, 0.0, 0.0, +1.0), lambda self: self.keyname()), Option(u('камера по ч. стрелке'), kc.EKey9, lambda: self.rotatecam(-10.0, 0.0, 0.0, +1.0), lambda self: self.keyname()), Option(u('камера вперед'), kc.EKey8, lambda: self.rotatecam(+10.0, +1.0, 0.0, 0.0), lambda self: self.keyname()), Option(u('камера назад'), kc.EKey0, lambda: self.rotatecam(-10.0, +1.0, 0.0, 0.0), lambda self: self.keyname()), Option(u('камера налево'), kc.EKeyStar, lambda: self.rotatecam(+10.0, 0.0, +1.0, 0.0), lambda self: self.keyname()), Option(u('камера направо'), kc.EKeyHash, lambda: self.rotatecam(-10.0, 0.0, +1.0, 0.0), lambda self: self.keyname()), Option(u('камера сброс'), kc.EKeyYes, lambda: self.resetcam(), lambda self: self.keyname()), Option( u('скриншот'), kc.EKeyEdit, lambda: graphics.screenshot().save( 'c:\\data\\Images\\3Dtetris' + str(random.randrange( 10000)) + '.jpg'), lambda self: self.keyname()) ] self.screenopt = [ Option(u('Ориентация экрана'), 0, ['автоматически', 'портрет', 'ландшафт'], lambda self: self.lst[self.value]), Option(u('Непрозрачн следующей'), 127) ] appuifw.app.screen = 'normal' lock = e32.Ao_lock() self.lock2 = e32.Ao_lock() appuifw.app.title = u('3D Тетрис. Настройки.') appuifw.app.set_tabs([u('Игра'), u('Управление'), u('Экран')], tab_cb) appuifw.app.menu = [(u('Играть'), play), (u('Стандартные настройки'), default), (u('Об игре'), about), (u('Благодарности'), thanks), (u('Выход'), exit)] appuifw.app.exit_key_handler = exit try: if not os.path.exists(self.path): os.mkdir(self.path) if os.path.exists(self.path + 'config.txt'): try: loadoptions() except e: appuifw.note(u('Настройки загрузить не удалось!'), 'error') else: needsave = 1 except: appuifw.note( u('Ошибка при создании каталога ' + self.path + '. Не будет загрузки/сохранения настроек!'), 'error') self.options = self.gameopt appuifw.app.body = self.canvas = appuifw.Listbox( [(opt.title, u(opt.f(opt))) for opt in self.options], change) self.cur_tab = 0 appuifw.app.activate_tab(self.cur_tab) lock.wait() appuifw.app.set_tabs([], None) appuifw.app.menu = [] if self.needsave: saveoptions() if self.running == 1: self.running = 0 appuifw.app.screen = 'full' self.delay = 1.5 - self.gameopt[0].value self.maxx = self.gameopt[1].value // 2 self.minx = -self.maxx self.dx = self.maxx - self.minx + 1 self.rx = range(self.minx, self.maxx + 1) self.maxy = self.gameopt[2].value // 2 self.miny = -self.maxy self.dy = self.maxy - self.miny + 1 self.ry = range(self.miny, self.maxy + 1) self.minz = 3 self.maxz = self.minz + self.gameopt[3].value self.dz = self.maxz - self.minz + 1 self.rz = range(self.minz, self.maxz + 1) self.nextalpha = self.screenopt[1].value self.points = array(GL_BYTE, 3, [[x, y, -z] for z in self.rz for y in self.ry for x in self.rx]) self.colortable = [ ((random.randrange(0x100)), (random.randrange(0x100)), (random.randrange(0x100)), 0xff) for i in range(self.dz) ] self.colors = array(GL_UNSIGNED_BYTE, 4, [ self.colortable[i] * (self.dx * self.dy) for i in range(self.dz) ]) self.triangles = [ array(GL_UNSIGNED_SHORT, 3, (i + self.dx * self.dy + 1, i + 1, i, i + self.dx * self.dy, i + self.dx * self.dy + 1, i, i + self.dx * self.dy + self.dx, i + self.dx * self.dy, i, i + self.dx, i + self.dx * self.dy + self.dx, i, i + 1, i + self.dx, i, i + self.dx * self.dy + self.dx, i + self.dx, i + self.dx + 1, i + self.dx * self.dy + self.dx + 1, i + self.dx * self.dy + self.dx, i + self.dx + 1, i + self.dx * self.dy + 1, i + self.dx * self.dy + self.dx + 1, i + self.dx + 1, i + 1, i + self.dx * self.dy + 1, i + self.dx + 1, i + self.dx, i + 1, i + self.dx + 1)) for i in range(self.dx * self.dy * self.dz) ] #self.cubelines=[array(GL_UNSIGNED_SHORT,2, [[j,j+self.dx] for j in (i,i+1,i+self.dx*self.dy,i+self.dx*self.dy+1)]+[[j,j+self.dx*self.dy] for j in (i,i+1,i+self.dx,i+self.dx+1)]+[[j,j+1] for j in (i,i+self.dx,i+self.dx*self.dy,i+self.dx*self.dy+self.dx)] )for i in range(self.dx*self.dy*self.dz)] self.cubes = [[[False for i in range(self.dy - 1)] for j in range(self.dx - 1)] for k in range(self.dz - 1)] return True
def quit(): global running graphics.screenshot().save("c:\\maze.png") running = 0
def quit(): global running running=0 graphics.screenshot().save("e:\\iniIME.png")
def screenshot(): img = graphics.screenshot() img.save("E:\\Images\\temp.jpg") return file("E:\\Images\\temp.jpg").read()
running=1 switch = 0 appuifw.app.screen='normal' def quit(): global running running=0 appuifw.app.set_exit() interval = appuifw.query(u"Interval:", "number", 10) maxscreen = appuifw.query(u"Screenshot number:", "number" ,20) print "starting" while running: if switch < maxscreen: e32.ao_sleep(interval) image = graphics.screenshot() switch = switch + 1 numer = switch filename="e:\\python\\picture"+str(numer)+".jpg" image.save(filename,quality=25) numer = int(0) else: print "done" quit()
def quit(): global running running=0 graphics.screenshot().save("e:\\iniIME.png") # print "Bye!" os.abort()
# -*- coding: utf-8 -*- #######wap.wapele.cn####### #######中文名好听######## #######decompile2######## import msys msys.send_bg() import graphics as gr scrshot = gr.screenshot() import appuifw as ap cvs = ap.Canvas() def redraw(rect): cvs.blit(scrshot) ap.app.body = cvs = ap.Canvas(redraw_callback=redraw) ap.app.screen = 'full' import os mypath = u"..\\python\\pygame\\2048_maps\\" splash = gr.Image.open(mypath + 'splash_2.1.png') import sysinfo x, y = sysinfo.display_pixels() if x > y: scrshot.blit(splash, target=(72, 78)) else: scrshot.blit(splash, target=(32, 117)) msys.send_fg() import main2
def make_screenshot(self): filename = u'e:\\screenshot.png' img = graphics.screenshot() img.save(filename)
def think(dt, events, kpress, mpos): global alpha, playing, ending, lastsave if playing and not ending: alpha = min(2 * dt + alpha, 1) elif ending: alpha -= 2 * dt if alpha <= -6: hud.endtitle.settext() if not hud.endtitle: state.removesave() scene.pop() return else: alpha -= 2 * dt if alpha <= 0: scene.pop() return sound.setvolume(alpha) lastsave += dt if settings.savetime is not None and lastsave > settings.savetime: lastsave = 0 state.save() if kpress[K_ESCAPE]: state.save() scene.pop() scene.pop() playing = False dx = ((kpress[K_RIGHT]) - (kpress[K_LEFT])) * dt dy = ((kpress[K_UP]) - (kpress[K_DOWN])) * dt dr = ((kpress[K_e] or kpress[K_d]) - (kpress[K_a])) * dt dA = ((kpress[K_COMMA] or kpress[K_w]) - (kpress[K_o] or kpress[K_s])) * dt for event in events: if event.type == QUIT: state.save() scene.pop() scene.pop() playing = False if event.type == MOUSEBUTTONDOWN: if event.button == 4: camera.zoom /= 1.08 elif event.button == 5: camera.zoom *= 1.08 else: px, py = mpos if hud.click((px, settings.sy - py)): continue p = camera.screentoworld((settings.sx - px, settings.sy - py)) if p and cursor.tobuild: phat = p.norm() if state.canbuild(cursor.tobuild, phat) and not state.builderror(cursor.tobuild): f = camera.eye().rej(phat).norm() state.build(cursor.tobuild(p.norm(), f)) cursor.tobuild = None else: sound.play("error") elif cursor.pointingto: if cursor.unbuild: state.unbuild(cursor.pointingto) elif cursor.disable: state.toggleenable(cursor.pointingto) else: cursor.dragging = True if event.type == MOUSEBUTTONUP: cursor.dragging = False if event.type == MOUSEMOTION: relx, rely = event.rel if event.buttons[0]: dx -= relx * settings.dragfactor / settings.sy dy += rely * settings.dragfactor / settings.sy if event.buttons[2]: dr -= relx * settings.dragfactor / settings.sy dA += rely * settings.dragfactor / settings.sy # camera.seek((0, 0, 1)) if event.type == KEYDOWN and event.key == K_CAPSLOCK: settings.swaparrows = not settings.swaparrows if event.type == KEYDOWN and event.key == K_F3 and settings.unlocked >= 99: if settings.level == 3: scene.pushunder(scenes.final) ending = True hud.endtitle.settext("Mission Complete") if event.type == KEYDOWN and event.key == K_F12: graphics.screenshot() if event.type == KEYDOWN and event.key == K_INSERT: camera.zoom /= 1.2 if event.type == KEYDOWN and event.key == K_DELETE: camera.zoom *= 1.2 if event.type == KEYDOWN and event.key == K_SPACE: things.Asteroid(100) camera.zoom = min(max(camera.zoom, 30), 200) if bool(kpress[K_LSHIFT]) != bool(settings.swaparrows): dx, dy, dr, dA = dr, dA, dx, dy camera.move(40. * dx / state.R, 40. * dy / state.R, 2.5 * dr, 0.7 * dA) camera.think(dt) px, py = mpos hud.point((px, settings.sy - py)) dtobj = dt * settings.speedup for obj in state.thinkers(): obj.think(dtobj) hud.think(dt) state.think(dtobj) hud.setstatus() if not ending: if state.checklose(): ending = True hud.endtitle.settext("Mission Failed") elif state.checkwin(dt): if settings.level == 3: scene.pushunder(scenes.final) sound.play("success") ending = True hud.endtitle.settext("Mission Complete") settings.unlocked = max(settings.unlocked, settings.level + 1) settings.save()
def main(): _player_moved = False _refresh_map = False get_input() handle_input() if not LIFE[SETTINGS['controlling']]['dead']: if LIFE[SETTINGS['controlling']]['asleep']: gfx.fade_to_black(255) gfx.start_of_frame() gfx.end_of_frame() while LIFE[SETTINGS['controlling']]['asleep']: _played_moved = True _refresh_map = True gfx.title(LIFE[SETTINGS['controlling']]['asleep_reason']) logic.tick_all_objects(ignore_tickrate=True, ignore_pause=True) if LIFE[SETTINGS['controlling']]['dead']: break else: _player_moved = True if _refresh_map: gfx.refresh_view('map') if not _player_moved: if logic.tick_all_objects(ignore_tickrate=True): _player_moved = True draw_targeting() move_camera(SETTINGS['camera_track']) #TODO: Deselect so we can get rid of this call if SELECTED_TILES[0]: gfx.refresh_view('map') if not SETTINGS['last_camera_pos'] == SETTINGS['camera_track'][:]: if EVENTS or MENUS: _visible_chunks = sight.scan_surroundings( LIFE[SETTINGS['following']], judge=False, get_chunks=True) alife.brain.flag(LIFE[SETTINGS['following']], 'visible_chunks', value=_visible_chunks) _cam_x = numbers.clip( LIFE[SETTINGS['following']]['pos'][0] - MAP_WINDOW_SIZE[0] / 2, 0, MAP_SIZE[0] - MAP_WINDOW_SIZE[0] / 2) _cam_y = numbers.clip( LIFE[SETTINGS['following']]['pos'][1] - MAP_WINDOW_SIZE[1] / 2, 0, MAP_SIZE[1] - MAP_WINDOW_SIZE[1] / 2) else: _visible_chunks = sight.scan_surroundings( LIFE[SETTINGS['controlling']], judge=False, get_chunks=True) alife.brain.flag(LIFE[SETTINGS['controlling']], 'visible_chunks', value=_visible_chunks) SETTINGS['last_camera_pos'] = SETTINGS['camera_track'][:] _cam_x = numbers.clip( LIFE[SETTINGS['controlling']]['pos'][0] - MAP_WINDOW_SIZE[0] / 2, 0, MAP_SIZE[0] - MAP_WINDOW_SIZE[0] / 2) _cam_y = numbers.clip( LIFE[SETTINGS['controlling']]['pos'][1] - MAP_WINDOW_SIZE[1] / 2, 0, MAP_SIZE[1] - MAP_WINDOW_SIZE[1] / 2) maps.render_lights() if '--worldmap' in sys.argv: render_map.render_map(WORLD_INFO['map'], force_camera_pos=(_cam_x, _cam_y, 2)) else: render_map.render_map(WORLD_INFO['map'], los=LIFE[SETTINGS['controlling']]['fov'], force_camera_pos=(_cam_x, _cam_y, 2)) items.draw_items() life.draw_life() if LIFE[SETTINGS['controlling']]['dead'] and not EVENTS: if not death(): return False if SETTINGS['draw life info'] and SETTINGS['following']: life.draw_life_info() gfx.draw_message_box() menus.align_menus() menus.draw_menus() gfx.draw_status_line() gfx.draw_console() gfx.start_of_frame() gfx.end_of_frame() if '--fps' in sys.argv: print tcod.sys_get_fps() if (SETTINGS['recording'] and _player_moved and not EVENTS and not MENUS) or '--worldmap' in sys.argv: gfx.screenshot() if '--worldmap' in sys.argv: SETTINGS['running'] = False
def exit(): appuifw.note("草根\n草虽渺小,根系天下".decode("u8")) global run run = 0 appuifw.app.body = m = appuifw.Canvas() appuifw.app.screen = 'full' m.clear(0) if appuifw.query("一定要打开两张图片才能显示效果\n图片较大请耐心等待\n草根".decode("u8"), "query"): import powlite_fm path = powlite_fm.manager().AskUser("e:\\", ext=[".png", ".jpg"]) path1 = powlite_fm.manager().AskUser("e:\\", ext=[".png", ".jpg"]) img = graphics.Image.open(path).resize((240, 320)) img1 = graphics.Image.open(path1).resize((240, 320)) appuifw.app.exit_key_handler = exit wy, wy1 = 0, 1 while run: a = img.getpixel([(x, wy) for x in xrange(240)]) b = img1.getpixel([(x, wy) for x in xrange(240)]) for i in xrange(240): m.point((i, wy), a[i]) m.point((i, wy1), b[i]) wy += 2 wy1 += 2 if wy == 320: pass if wy == 320: pass e32.ao_yield() graphics.screenshot().save("e:\\10.jpg")