Exemplo – Script Print Screen

Possivelmente muitos iniciantes devem ter se perguntado como tirar um print screen na bge(Blender Game Engine)? Pois bem existe uma função do modulo “bge.render” que se chama “makeScreenshot(filename)”. Essa função tira uma print da tela do jogo(via Python é claro). Para demonstrar fiz um simples exemplo, segue o link para download clicando aqui. O script checa se a pasta existe se existe ele salva a imagem da tela, do contrario ele cria a pasta e salva. O script também contem duas variáveis de configurações.


prefix = # Nome do prefixo da imagem a ser salva

folder_name = # Nome da pasta onde as imagens serão salvas

Para que o script funcione basta adicionar um sensor keyboard com a tecla que quiser e ligar o mesmo em um controlador Python em modo de ‘Modulo’ e colocar o nome do script .main exemplo “Screenshot.main”. Veja a imagem a baixo.

Logic Screenshot

Logic Screenshot

A baixo o script completo mais o link para download.

##############################################
# Script Screenshot.py
# By Walberti Evaristo
# Info http://criacoesblender.wordpress.com
# Veja os comentarios para mais configuracoes
##############################################

import bge
import os

prefix = 'Img_' # Prefixo do nome da imagem a salvar
folder_name = 'Screenshots' # Nome da pasta

def main():
	cont = bge.logic.getCurrentController()
	sensor = cont.sensors[0]

	if sensor.positive:
		local_path = bge.logic.expandPath('//')
		path = (local_path + '/' + folder_name)
		os.chdir(local_path)

		if not os.path.exists(path):
			os.makedirs(path)

		file_count = str(len(os.listdir(path)) - 1)
		bge.render.makeScreenshot('//' + folder_name + '/' + prefix + file_count + '.png')

Download

Sobre Walberti Evaristo
Atualmente estou terminando os estudos, e tentando ajudar pessoas a usar a Blender Game Engine. Também uso o espaço(Blog) para publicar os meus trabalhos com o Blender.

One Response to Exemplo – Script Print Screen

  1. jair Carlos de Oliveira (Firefox no BB) disse:

    Ótima postagem , Walberti, eu estava atrás desse tipo de código para usar em meus experimento da BGE. Pensei em quem esquema tipo Fatal Frame.

    É ótimo saber que exitem usuários avançados que pensam nos iniciantes. Valeu!!

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: