problema com codigo de ataque

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

problema com codigo de ataque

Mensagem por megawcriador em Qui 11 Jul 2013, 14:25

ola pessoal eu estou com um problema como ja devem ter percebido pelo titulo do topico
eu criei um objeto para cada ataque de do personagem(são tres ataques)
eu coloquei esse codigo em todos eles
Código:
ataque=+1

if keyboard_check_pressed(ord("x"))
{
if ataque<=2
{
object_index=f_soco2
}}

else
{
object_index=f_sonic
}

e fica dando essed erro quando eu tento iniciar o ataque

ERROR in
action number 1
of Step Event
for object f_soco:

Error in code at line 12:
object_index=f_sonic
^
at position 2: Cannot assign to the variable

quem puder me ajudar eu agradeço
ps:eu so mudei no codigo o objeto para cada ataque diferente

megawcriador

Número de Mensagens : 42
Data de inscrição : 20/12/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: problema com codigo de ataque

Mensagem por saim em Qui 11 Jul 2013, 14:33

manual escreveu:object_index* Index of the object this is an instance of. This variable cannot be changed.
Acho que você vai ter que criar uma instância do outro objeto e usar "instance_destroy()".

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: problema com codigo de ataque

Mensagem por megawcriador em Qui 11 Jul 2013, 19:54

agora eu tenho outro problema
não sei oque e uma instancia nem como se cria uma

megawcriador

Número de Mensagens : 42
Data de inscrição : 20/12/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: problema com codigo de ataque

Mensagem por Brother27 em Qui 11 Jul 2013, 20:17

Instância é exatamente a mesma coisa que objeto.
Tem, sim, umas diferenças, mas nada que um iniciante (você é um?) precise saber.

Brother27

Ranking : Nota C
Número de Mensagens : 253
Idade : 17
Data de inscrição : 28/06/2012
Notas recebidas : C
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: problema com codigo de ataque

Mensagem por megawcriador em Sex 12 Jul 2013, 11:54

sim sou um iniciante em game maker

megawcriador

Número de Mensagens : 42
Data de inscrição : 20/12/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: problema com codigo de ataque

Mensagem por saim em Sex 12 Jul 2013, 14:06

Brother27 escreveu:Instância é exatamente a mesma coisa que objeto.
Tem, sim, umas diferenças, mas nada que um iniciante (você é um?) precise saber.
Não é não. Mas é uma confusão bem comum.
Um objeto é uma série de instruções. É o template, por assim dizer, das instâncias.
Uma instância é o que, de fato, vai estar no jogo. É pegar o template e criar algo real, ali.

O manual vai te dar um pouco mais de informação.

É muito comum criar apenas um objeto-inimigo, colocar, tipo 5 instâncias dele na room e dizer "na minha room tem 5 objetos-inimigo". O correto é dizer que tem 5 instâncias do objeto-inimigo.

Pode parecer bobagem, mas só é bobagem se você sabe a diferença. Aí, tudo bem, é só questão de ortografia, mesmo. Mas se eu digo que tenho 5 objetos-inimigos na minha room, posso ter 200 instâncias de cada objeto. Já é um erro.
Quando a gente começa a precisar da id de uma instância, aí essa confusão fica fatal. É quando começam a acontecer os erros do tipo "todos os inimigos estão morrendo ao mesmo tempo, mas eu só atirei em um!".

Já vi umas frases interessantes a respeito de objetos e instâncias.
"Instances are cookies. Objects are cookie cutters."
"Objects are bosses, instances are minions."
Eu gosto mais da primeira, porque os bosses APARECEM no jogo. Os objetos, não.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: problema com codigo de ataque

Mensagem por Brother27 em Sex 12 Jul 2013, 16:21

Então, saim... Na verdade, eu sabia disso =D
Mas eu não quis mencionar pra não confundir a cabeça do cara, é bom ele aprender pouco a pouco...
Nesse caso, é melhor ignorar as diferenças.

Mas, explicando mais ou menos:
.                _________________________________________
.              |                                                                  |
.              |                inst                                             |
.              |                                              inst               |
OBJ ====> ROOM                                                          |
.              |                 inst                                            |
.              |                                  inst                           |
.              |          inst                                                   |
.              ___________________________________________

O objeto é o mesmo, mas as instâncias são diferentes. Entendeu, amigo?
Você pode ter um obj_inimigo, mas colocar várias instâncias dele na room. Quando você monta a room no GM, o que você coloca são instâncias, e não objetos.

Brother27

Ranking : Nota C
Número de Mensagens : 253
Idade : 17
Data de inscrição : 28/06/2012
Notas recebidas : C
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: problema com codigo de ataque

Mensagem por Rodrigo Santiago em Sex 12 Jul 2013, 20:51

Objeto é o molde , instâncias são as cópias.
Mais voltando ao erro você poderia colocar instance_create(x,y,objeto), assim você copia o objeto.
Cria uma 'bala' ,por exemplo, se houver uma bala objeto, você vai criar instâncias de balas, cada bala é diferente e sua principal diferença é o id, que é único, cada bala terá seu id diferente, como uma identidade.

Você também pode conseguir o id para uma variável.

Ex:
Código:

id_da_instancia=instance_create(x,y,bala);
agora você poderá usar id_da_instancia para atribuir definições para a instância criada , chamada bala. Veja só o que você pode fazer:
Código:

id_da_instancia=instance_create(x,y,bala);
id_da_instancia.direction=direction;
id_da_instancia.speed=8;
Desse modo você cria a cópia e ainda pode dá valor para direção e velocidade.

Rodrigo Santiago

Ranking : Nota B
Número de Mensagens : 1281
Idade : 20
Data de inscrição : 28/07/2012
Notas recebidas : C + C + B
Reputação : 73
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 1
   : 3

Voltar ao Topo Ir em baixo

Re: problema com codigo de ataque

Mensagem por vinians em Sab 13 Jul 2013, 11:09

Está variavel interna é read only , ou seja somente de leitura conforme descrito no manual:

This read only variable returns the index of the object that the instance has been created from. This is not the same as the object name, which is a string and can be found using object_get_name, as this function returns the index number, which is a unique number that GameMaker:Studio assigns to every object at the time of creation.
Para mudar o tipo de objeto associado a uma instância, use
Código:

instance_change(obj, false);
Isso resolve o seu problema.
Flws!

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Re: problema com codigo de ataque

Mensagem por megawcriador em Sab 13 Jul 2013, 20:09

valeu pessoal ajudaram com o ultimo problema do meu jogo(a parte demo)
vou postar o demo aqui valeu

megawcriador

Número de Mensagens : 42
Data de inscrição : 20/12/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: problema com codigo de ataque

Mensagem por Conteúdo patrocinado Hoje à(s) 14:16


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum