|
|
|
Autor |
Mensagem |
Edno Rodrigues
Usuário
Registrado: 07/09/09 Mensagens: 277 Localização: Brasil Games |
|
Life de vida, e morte do ator |
|
Bem amigos quero colocar vida no Ator, e também programa danos. queria saber como programa usando seus exemplos bem práticos.
eu coloquei para testa um Label e coloquei nele o numero de vida do meu Ator 100, coloquei um Espantalho no cenário. coloquei o Espantalho no modo perseguição, Agora como programar quando o espantalho tocar no Ator ele perca 10 de Life, e em cada ataque perca 10, até que quando zerar em [size=18]0[/size] o ator Morra e volte para o inicio da faze.
queria também saber, isto é muito importante para nós em nossos projetos, como programar em algum objeto como restaurado de Life, por exemplo o meu Ator com 100 de vida sofreu danos de 80 de Life, agora o meu Ator esta perto para morrer com apenas 20 de Life, como programa o objeto para quando o meu ator colidi restaure a vida para 100.
gostaria de exemplos feitos para aprender e compreender a programação, um abraço á todos do Fórum e ao Lemos e Edirlei que sempre nos ajuda no Fórum...
|
|
Qua Fev 16, 2011 1:26 am |
|
|
Lemos
Usuário
Registrado: 14/04/09 Mensagens: 802 Localização: Rio de Janeiro - RJ |
|
Re: Life de vida, e morte do ator |
|
Crie no ON Create do mapa uma variável Vida:
WriteGlobalVar(Vida, 100);
Para perder vida ao ser atacado pelo o espantalho, você pode colocar no evento ON COLISION do mapa:
if ReadGlobalVar('Vida') > 0 then
begin
WriteGlobalVar('Vida', ReadGlobalVar('Vida')-10);
end;
Neste caso, é ele que colide com você; quando você colide com o objeto, é diferente:
Para recuperar toda a vida ao colidir com um objeto, coloque a mesma coisa que no ONCREATE, mas coloque no evento ONCOLISION do OBJETO (veja o tutorial: https://edirlei.com/3dgamebuilder/pt/3dgamebuilder/Tutorial11.php ):
if ReadGlobalVar('Vida') < 100 then
begin
WriteGlobalVar(Vida, 100);
end;
Para ver no Label:
Coloque isso no evento MainLOOP do mapa:
SetLabelText('Nome do seu Label', 'O que você quer que apareça sempre escrito' +ReadGlobalVar('Vida'));
É só. E está tudo no tutorial de salvamento e nos tutoriaias do site. Vou te dar uma dica: se você nao domina ainda uma função, ao invéz de tentar fazer direto no seu jogo, faça pequenos programas-teste e vá fazendo experiências, assim você não terá medo de errar. Eu faço muito isso.
Depois basta copiar o código que funciona para o definitivo. Se você não entender algum desse scripts, coloque a suua dúvida aqui, pque se você só decorar sem entender, nunca vai conseguir fazer algo diferente disso...
Abraço :wink:
_________________ Lemos
http://alemdanimacao.zip.net/
|
|
Qua Fev 16, 2011 10:07 am |
|
|
Edno Rodrigues
Usuário
Registrado: 07/09/09 Mensagens: 277 Localização: Brasil Games |
|
Morte do Ator, Game Over |
|
Ola aprende direitinho os eventos que o Lemos fez, agora quero saber quando zerar o Life de vida de 100 para 0, quero saber qual os eventos de programação que faz o ator Morrer, colocar a animação de morte e aparece a mensagem VOCÊ MORREU, ai carrega para o inicio da fase, para começa todo de novo...???>>
|
|
Qua Fev 16, 2011 10:19 pm |
|
|
Lemos
Usuário
Registrado: 14/04/09 Mensagens: 802 Localização: Rio de Janeiro - RJ |
|
Re: Morte do Ator, Game Over |
|
| | Ola aprende direitinho os eventos que o Lemos fez, agora quero saber quando zerar o Life de vida de 100 para 0, quero saber qual os eventos de programação que faz o ator Morrer, colocar a animação de morte e aparece a mensagem VOCÊ MORREU, ai carrega para o inicio da fase, para começa todo de novo...???>> |
Veja esse tópico:
arma-nao-cai-junto-com-o-ator-principal-e-ele-tem-2-nomes-t311.html
Acredito que isso deve funcionar se colocado no MainLoop do mapa:
if (ReadGlobalVar('Vida') <= 0) then
begin
DiseblePlayerMove;
if GetObjectAnimation('MainActor')<>'death_a' then
SetObjectAnimation('MainActor', 'death_a');
SetObjectAnimationMode('MainActor', 'PlayOnce');
if GetObjectAnimation('mainactorweapon')<>'death_a' then
SetObjectAnimation('mainactorweapon', 'death_a');
SetObjectAnimationMode('mainactorweapon', 'PlayOnce');
SetLabelText('Nome do seu Label', 'Você Morreu!');
end;
Note que essas animações foram do atirador da Swatt, que tem arma. Se o seu player não for ele, você terá que ver qual o nome da ação morte dele, pque essa é "death_a". Basta trocar essa ação pelo nome correto da morte do seu ator
Abraço
_________________ Lemos
http://alemdanimacao.zip.net/
|
|
Sáb Fev 19, 2011 3:01 pm |
|
|
Edno Rodrigues
Usuário
Registrado: 07/09/09 Mensagens: 277 Localização: Brasil Games |
|
Eventos de sons |
|
Ola, como programa para colocar o som do tiro da arma, pois o meu Ator tem uma arma e eu aperto a tecla [ESPAÇO] que é a tecla que atira, para o meu projeto fica bem original queria colocar um áudio ( o som do tiro ) que também eu já tenho o seu nome é, tiro01 ( o nome que eu coloquei no áudio ).
Já no inimigo, que pode ser o espantalho, eu fiz outro áudio com o nome, morte01 , este Áudio é apenas um grito de morte, que eu quero colocar quando o inimigo morrer ( explodi ou desaparece do cenário ), esses eventos são essenciais para que os projetos fiquem bem profissional.... se aguem souber colocar um exemplo para nós aprendermos .........
ABRAÇO Á TODOS....
|
|
Dom Fev 20, 2011 5:03 pm |
|
|
Lemos
Usuário
Registrado: 14/04/09 Mensagens: 802 Localização: Rio de Janeiro - RJ |
|
Re: Eventos de sons |
|
Cara, em primeiro lugar você nem disse se o script anterior havia dado certo. Em segundo, esse novo assunto foge totalmente ao título do tópico. Se todas as perguntas forem respondidas aqui, vai virar uma bagunça. Pra mexer com sons, você deve criar um novo trópico, mas antes, dê uma pesquisada no fórum pque esse assunto já foi tratado e resolvido em outra situação.
Abraço
_________________ Lemos
http://alemdanimacao.zip.net/
|
|
Dom Fev 20, 2011 6:32 pm |
|
|
Dracula_Dragon
Novato
Registrado: 08/09/10 Mensagens: 34 Localização: não tenho |
|
Morte de ator |
|
Olha lemos esta dando erro aqui | | WriteGlobalVar(Vida, 100); | fala que Vida e sintax error espero uma resposta man porfavor
_________________ " Firmeza " |
|
Sáb Jul 23, 2011 8:40 pm |
|
|
welgomes
Usuário
Registrado: 10/07/11 Mensagens: 827 Localização: São Paulo - Capital |
|
Re: Morte de ator |
|
| | Olha lemos esta dando erro aqui | | WriteGlobalVar(Vida, 100); | fala que Vida e sintax error espero uma resposta man porfavor |
Não sou o Lemos, mas vamos lá.
Está faltando as aspas
ERRADO
WriteGlobalVar(Vida, 100);
CORRETO
WriteGlobalVar('Vida', 100);
Quando temos aspas, indica ao interpretador de comandos que se trata de uma informação do tipo texto.
Quando não temos as aspas, indica que é o nome da variável (como se fosse uma caixa que guarda o valor), então ele procura a "caixa" chamada Vida para pegar a informação dentro dela, como ela não existe dá erro de sintaxe.
|
|
Dom Jul 24, 2011 12:45 pm |
|
|
|
|
|
|
|
|