domingo, 1 de novembro de 2020

26=BLENDER BGE (POINT CLICK)

 olá amigos , hoje vamos falar sobre point click apesar de ser função pouco usada hoje em jogos, pode ser pra você algo diferente em seus jogos, porque oque vale e a criatividade.


bom aqui vou apenas falar da função, pode usar qualquer objeto para ser "herói" no meu caso eu fiz com crash fiz muito tempo atrás, vamos la.

(ADD SENSOR) ALWAYS (True)  MOUSE(mouse over any)

(ADD CONTROLLER) python (script)

(ADD ACTUATOR) STEERING (path following( aqui você cria uma navegação mesh )

configuração muda dependendo suas necessidade.

dist(1.000) veloc(2.000)

acce(3.000) turn velo(120.000)

facing (ativado) [ele serve para se herói tiver animação de caminhar] AXIS -Y

visualize(ativado) [serve para poder ver linha de caminho]

 SCRIPT:

########################################################################

from bge import logic as g, events


c = g.getCurrentController()

o = c.owner


cena = g.getCurrentScene()


for i in c.sensors:

    exec(i.name+"=i")

for i in c.actuators:

    exec(i.name+"=i")

 

hitPos = over.hitPosition


mouse = g.mouse.events

click = mouse[events.LEFTMOUSE]



circulo = cena.objects["circulo"]

Cone    = cena.objects["Cone"]


IA.target = Cone

IA.navmesh = cena.objects["Navmesh1"]


distancia = o.getDistanceTo(Cone)


if not over.hitObject == None:

    circulo.position = hitPos

    if click:

        Cone.position = hitPos

        c.activate(IA) 

        c.activate(correr)

        

if distancia < 1.5:

    c.activate(parado)

    c.deactivate(correr)

else:

    c.activate(correr)

    c.deactivate(parado)

###############################################################

lembre se de criar uma seta será ponto onde vc quer que herói vai, e circulo que o ponto destino, isso serve para uma boa visualização da função.


video demostraçao:





e isso por hoje.









Nenhum comentário:

Postar um comentário