RegistrarBuscaFAQMembrosGruposEntrar
Cubo não esta solido

 
Responder tópico    3D Game Builder - Índice » Programação Exibir tópico anterior
Exibir próximo tópico
Cubo não esta solido
Autor Mensagem
Edno Rodrigues
Usuário
Usuário


Registrado: 07/09/09
Mensagens: 277
Localização: Brasil Games

Mensagem Cubo não esta solido Responder com citação
precisa de ajuda, os scipts para que ator fique em cima do cubo não ta dando certo eu coloquei o script da movimentação estatitica ficou assim..

if Round(GetObjectPositionX('Cubo13')) < 200 then
SetObjectPosition('Cubo13', GetObjectPositionX('Cubo13')+0.02, GetObjectPositionY('Cubo13'), GetObjectPositionZ('Cubo13'));

beleza deu certo, so que o ator não fica em cima, coloquei este script no oncolision do cubo e não deu certo sera que o script é esse mesmo ou ta faltando algun detalhe o script é esse

if GetObjectPositionX('Cubo13') < 2 then
begin
SetObjectPosition('Cubo13',GetObjectPositionX('Cubo13')+0.02,
GetObjectPositionY('Cubo13'),
GetObjectPositionZ('Cubo13'));
SetObjectPosition('Player',GetObjectPositionX('Player')+0.02,
GetObjectPositionY('Player'),
GetObjectPositionZ('Player'));
end;


Ter Mai 23, 2017 12:40 am Exibir perfil de usuários Enviar mensagem privada
Lima
Usuário
Usuário


Registrado: 16/11/13
Mensagens: 100

Mensagem Re: Cubo não esta solido Responder com citação
Edno Rodrigues escreveu:
precisa de ajuda, os scipts para que ator fique em cima do cubo não ta dando certo eu coloquei o script da movimentação estatitica ficou assim..

if Round(GetObjectPositionX('Cubo13')) < 200 then
SetObjectPosition('Cubo13', GetObjectPositionX('Cubo13')+0.02, GetObjectPositionY('Cubo13'), GetObjectPositionZ('Cubo13'));

beleza deu certo, so que o ator não fica em cima, coloquei este script no oncolision do cubo e não deu certo sera que o script é esse mesmo ou ta faltando algun detalhe o script é esse

if GetObjectPositionX('Cubo13') < 2 then
begin
SetObjectPosition('Cubo13',GetObjectPositionX('Cubo13')+0.02,
GetObjectPositionY('Cubo13'),
GetObjectPositionZ('Cubo13'));
SetObjectPosition('Player',GetObjectPositionX('Player')+0.02,
GetObjectPositionY('Player'),
GetObjectPositionZ('Player'));
end;


Sabe, essa linha está impedindo seu código de funcionar corretamente: if Round(GetObjectPositionX('Cubo13')) < 200 then
SetObjectPosition('Cubo13', GetObjectPositionX('Cubo13')+0.02, GetObjectPositionY('Cubo13'), GetObjectPositionZ('Cubo13'));
livre-se dela, e tudo ficará bem.

ps.: Seu código não tem erros!
eu olhei e não vi a necessidade de arrendondar a posição, e além disso, ela é executada antes do script para o ator ir junto com o cubo, por isso o cubo vai sozinho e o ator fica.

_________________
"Hello World"
Ter Mai 23, 2017 7:04 pm Exibir perfil de usuários Enviar mensagem privada Enviar e-mail MSN Messenger
Edno Rodrigues
Usuário
Usuário


Registrado: 07/09/09
Mensagens: 277
Localização: Brasil Games

Mensagem Re: Cubo não esta solido Responder com citação
deu certo, agora pois o script também diz a movimentação do cubo, agora endendir, a posição do ator junto com o cubo tem que ser na mesma direção e mesma velocidade, eu tirei o primeiro script deixei so ele ai deu certo.. obrigado amigo....
Ter Mai 23, 2017 11:54 pm Exibir perfil de usuários Enviar mensagem privada
Edno Rodrigues
Usuário
Usuário


Registrado: 07/09/09
Mensagens: 277
Localização: Brasil Games

Mensagem agora o obstaculo não esta solido Responder com citação
agora os obstaculos não estão solidos, o ator passa por eles, eu fiz uma fase onde tem uma rampa em movimentação para posição X 739, o ator fica de boa em cima da rampa, coloquei cubos como obstaculos, onde você tem que desviar , pra esquerda ou pra direita, coloquei o script no oncolision no cubo más não deu certo foi esse

if GetObjectPositionX('Cubo21') < 0 then
begin
SetObjectPosition('Cubo21',
GetObjectPositionX('Cubo21'),
GetObjectPositionY('Cubo21'),
GetObjectPositionZ('Cubo21'));
SetObjectPosition('Player',
GetObjectPositionX('Player'),
GetObjectPositionY('Player'),
GetObjectPositionZ('Player'));
end;

quando executo o jogo o ator passa por ele, eu queira que derruba-se o ator da rampa, eu não sei se estou certo, más nesta questão eu acho que tem haver com a força em colisão, eu acho que o scipt não é esse,por que não deu certo pro cubo...
Qua Mai 24, 2017 12:51 am Exibir perfil de usuários Enviar mensagem privada
Lima
Usuário
Usuário


Registrado: 16/11/13
Mensagens: 100

Mensagem Responder com citação
Bom, eu não sei como fazer para um objeto "empurrar" o ator principal, não sei o motivo mas, mesmo objetos dinâmicos não conseguem empurrar ele (acabei de testar)
o SetObjectPosition() posiciona um objeto em qualuer lugar sem consider colisão, e já que o player não se move mesmo colidindo com objetos dinâmicos, a saída é posicionar ele em outro lugar como se estivesse escorregando/caindo mesmo.... chato, mas é uma solução! A única coisa que vai precisar acrescentar no seu script é uma condição para ele parar de "escorregar" para fora da sua rampa e no SetObjectPosition('Player',x,y,z) dizer para ele escorregar lentamente no eixo que você quer!

exemplo:
Se você quer que ele escorregue pro lado:
Código:

 if (GetObjectPositionX('Player')< (valor que seja fora da rampa) then
             SetObjectPosition('Player', GetObjectPositionX('Player'),
                                                    GetObjectPositionY('Player')+0.5(valor qualquer),
                                                    GetObjectPositionZ('Player'));


_________________
"Hello World"
Qui Mai 25, 2017 6:39 pm Exibir perfil de usuários Enviar mensagem privada Enviar e-mail MSN Messenger
Mostrar os tópicos anteriores:    
Responder tópico    3D Game Builder - Índice » Programação Todos os horários são GMT
Página 1 de 1

 
Ir para: 
Você não pode enviar mensagens novas neste fórum
Você não pode responder mensagens neste fórum
você não pode editar suas mensagens neste fórum
Você não pode excluir suas mensagens neste fórum
Você não pode votar em enquetes neste fórum


Powered by phpBB © 2001, 2008 phpBB Group
Design by Edirlei
Traduzido por phpBB Brasil