DrawSelect

Olá

Eu fiz um esquema simples do tipo DrawSelect, no qual a pessoa pode “desenhar” quadrados, e futuramente se transformar em um esquema de seleção pra bge.

O esquema ainda não é muito util mas pode abrir portas para quem deseja desenterrar algum projeto

import bge
logic = bge.logic
render = bge.render
cont = logic.getCurrentController()
cena = logic.getCurrentScene()
obj = cont.owner
mouse = cont.sensors["mouseAny"]
mouseclick = cont.sensors["mouseClick"]
clickactive = cont.sensors["clickActive"]
mouseSourceX = mouse.raySource[0]
mouseSourceY = mouse.raySource[1]
if mouseclick.positive:
    obj["ClickPosX"] = mouseSourceX
    obj["ClickPosY"] = mouseSourceY

if clickactive.positive:
    render.drawLine([obj["ClickPosX"], obj["ClickPosY"], 0], [mouseSourceX, obj["ClickPosY"], 0], [0, 0, 0.5])
    render.drawLine([obj["ClickPosX"], obj["ClickPosY"], 0], [obj["ClickPosX"], mouseSourceY, 0], [0, 0, 0.5])
    render.drawLine([obj["ClickPosX"], mouseSourceY, 0], [mouseSourceX, mouseSourceY, 0], [0, 0, 0.2])
    render.drawLine([mouseSourceX, obj["ClickPosY"], 0], [mouseSourceX, mouseSourceY, 0], [0, 0, 0.2])
#A partir daqui e feita a programacao do quadrado

quad = cena.objects["quad"]
quad_mesh = quad.meshes[0]
quad_vertex1 = quad_mesh.getVertex(0, 0)
quad_vertex2 = quad_mesh.getVertex(0, 1)
quad_vertex3 = quad_mesh.getVertex(0, 2)
quad_vertex4 = quad_mesh.getVertex(0, 3)

if clickactive.positive:
    quad_vertex1.XYZ = (obj["ClickPosX"], mouseSourceY, 0)
    quad_vertex2.XYZ = (mouseSourceX, mouseSourceY, 0)
    quad_vertex3.XYZ = (mouseSourceX, obj["ClickPosY"], 0)
    quad_vertex4.XYZ = (obj["ClickPosX"], obj["ClickPosY"], 0)
    quad.visible = True
else:
    quad.visible = False

Download

Sobre João Pedro
Sou estudante, cursando o ensino médio. Sigo o rumo da computação grafica a bastante tempo, e pretendo levar esse ensino como hobbie.

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: