Templates

SurfaceDrawing – Blender Game Engine

Postado em Atualizado em

Semana passada estive brincando com o modulo `bgl`, e acabei fazendo um script (que provavelmente para muitos vai parecer complicado pelo tamanho) que desenha linhas em uma superfície qualquer que contenha a propriedade GLDraw.

SurfaceDrawing_01
SurfaceDrawing_01

Essa imagem a cima são linhas desenhadas com o modulo bgl com o auxilio mouse. O script contém opções como por exemplo, tamanho do pincel(Brush), cor, smooth, qualidade, tipo de pincel, addPoint(Adiciona nova vertece) e xray(É renderizado a cima de todos os objetos).

 Também tem controles como Mouse-Click-Esquerdo desenha, Mouse-Click-Direito movimenta a câmera, Mouse-Middle rotaciona a câmera, Espaço muda de cor.

 O exemplo contém um outro script que onde controla a câmera também de minha autoria. Quer testar?. Então faça o download. E não se esqueçam que é para 2.6x. Qualquer erro basta postar um comentário.

 

Split Screen – Dividir a Tela

Postado em Atualizado em

Hoje trago um exemplo bem simples de como dividir a tela para dois jogadores. A baixo o script que esta no mesmo blend. Ou se preferir você pode baixar o blend clicando Aqui. A versão é a 2.6x.

#####################################################
# Script SplitScreen.py
# By Walberti Evaristo
# Info http//criacoesblender.wordpress.com
#####################################################

# Importando funcoes da BGE
import bge

# Funcao principal
def main():
	# Buscando a cena atual
	scene = bge.logic.getCurrentScene()
	
	# Altere os nomes das camera que estao entre aspas
	# Buscando camera da direita da tela
	cam_1 = scene.objects['Camera_P1'] # Camera 1
	# Buscando camera da esquerda da tela
	cam_2 = scene.objects['Camera_P2'] # Camera 2
	
	# Buscando largura e altura da tela
	width = int(bge.render.getWindowWidth())
	height = int(bge.render.getWindowHeight())
	
	# Ativando o uso de Viewports na duas cameras
	cam_1.useViewport = True
	cam_2.useViewport = True
	
	
	# Define o tamanho da viewport de cada camera
	# Sequencia (Esquerda, Baixo, Direita, Topo)
	cam_1.setViewport(0, 0, int(width / 2), height)
	cam_2.setViewport(int(width / 2), 0, width, height)
	
# Executa a funcao principal
main()