Conectar-se
Quem está conectado
21 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 20 Visitantes

Willy

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 20/12/2011
Número de Mensagens : 42
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

problema com codigo de ataque

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
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: problema com codigo de ataque

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()".
avatar
Data de inscrição : 20/12/2011
Número de Mensagens : 42
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: problema com codigo de ataque

em Qui 11 Jul 2013, 19:54
agora eu tenho outro problema
não sei oque e uma instancia nem como se cria uma
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 28/06/2012
Número de Mensagens : 253
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: problema com codigo de ataque

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.
avatar
Data de inscrição : 20/12/2011
Número de Mensagens : 42
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: problema com codigo de ataque

em Sex 12 Jul 2013, 11:54
sim sou um iniciante em game maker
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: problema com codigo de ataque

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.
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 28/06/2012
Número de Mensagens : 253
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: problema com codigo de ataque

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.
avatar
Ranking : Nota B
Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Número de Mensagens : 1281
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 3
   : 1
   : 3
Ver perfil do usuário

Re: problema com codigo de ataque

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.
avatar
Ranking : Nota B
Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Número de Mensagens : 2490
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 1 Insignia 3x 0

Prêmios
   : 0
   : 2
   : 1
Ver perfil do usuáriohttp://xcreatorgames.weebly.com/

Re: problema com codigo de ataque

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!
avatar
Data de inscrição : 20/12/2011
Número de Mensagens : 42
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: problema com codigo de ataque

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
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum