Entrar
Últimos assuntos
» Problema ao entrar por uma porta e voltar por elapor aminaro Seg 06 maio 2024, 10:08
» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43
» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16
» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45
» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18
» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30
» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07
» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45
» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51
» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31
» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11
» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
Botar nome do objeto numa variavel
+2
vinians
Datebanhawn
6 participantes
Página 1 de 2
Página 1 de 2 • 1, 2
Botar nome do objeto numa variavel
Ae galera tamo ai denovo enchendo o saco mas............
Como nome mesmo ja diz, como se faz para o nome de um objeto ser atribuido a uma variavel??????????
Flw galera!!!
Como nome mesmo ja diz, como se faz para o nome de um objeto ser atribuido a uma variavel??????????
Flw galera!!!
Última edição por makerloko em Qui 10 Fev 2011, 18:24, editado 2 vez(es)
Convidad- Convidado
Re: Botar nome do objeto numa variavel
kara eu num tenho certeza mais acho que é impossível
e é por isso que eu sempre ponho por exemplo para uma bola no objeto eu ponho :
obj_bola
ai a variavel bola pode ser usada
e é por isso que eu sempre ponho por exemplo para uma bola no objeto eu ponho :
obj_bola
ai a variavel bola pode ser usada
Datebanhawn- Data de inscrição : 29/01/2011
Reputação : 1
Número de Mensagens : 182
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Botar nome do objeto numa variavel
@Datebanhawn
Nada é impossivel, kkkkkkkkkkkkk mas falando sério
eu quero tipo, obj_bola quando colidir,o valor da variavel global.obje seja o nome do objeto, que é obj_bola endendeu?
Nada é impossivel, kkkkkkkkkkkkk mas falando sério
eu quero tipo, obj_bola quando colidir,o valor da variavel global.obje seja o nome do objeto, que é obj_bola endendeu?
Convidad- Convidado
Re: Botar nome do objeto numa variavel
Se você quiser o nome (string) e não o id, você vai usar duas coisas então. A primeria é a constante de objeto object_index, e a segunda é uma função chamada object_get_name(). Supondo que a instância bola queira o nome do objeto que colidiu com ela, o código seria assim (no evento Collision):
- Código:
nome_de_quem_colidiu_comigo := object_get_name(other.object_index);
GameMakerTutoriais- Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios :
x 0 x 4 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Botar nome do objeto numa variavel
@vinians
ID eu acho que ia ficar com o objeto especifico da Id, e qu preciso do nome do obj. Vlw mesmo a ajuda!
@Ninja8086
Era exatamente isso que eu queria vlw mesmo funcionou direitinho,
Vlw a todos!!!
EDIT:
Eu esqueci no fim, eu queria usar a sprite do objeto do valor da global.equipad em outro objeto tem como?
ID eu acho que ia ficar com o objeto especifico da Id, e qu preciso do nome do obj. Vlw mesmo a ajuda!
@Ninja8086
Era exatamente isso que eu queria vlw mesmo funcionou direitinho,
Vlw a todos!!!
EDIT:
Eu esqueci no fim, eu queria usar a sprite do objeto do valor da global.equipad em outro objeto tem como?
Convidad- Convidado
Re: Botar nome do objeto numa variavel
Você quer usar a sprite do objeto que pegou o nome, certo?
Haverão inconveniências sérias. A primeira é que objeto é uma classe de instância, ou seja, pode ser qualquer instância do jogo. Então não há garantias de que o sprite armazenado será o correto.
Nesse caso é altamente recomendável usar o id a menos que esteja usando apenas uma instância por objeto (o que não justificaria, certo? pois você quer pegar um sprite de um objeto igual, que já exista).
Use o id pra armazenar o sprite.
Se mesmo assim você ainda quiser tentar usar o nome, tente usar isso aqui no objeto que quer colocar o sprite:
Ele retornará o sprite da primeira instância encontrada cuja classe de objeto seja a mesma da variável que você citou. Boa sorte.
Quando fizer outra pergunta, crie outro tópico pois eu quase não vi seu edit. O edit não atualiza o tópico como nova mensagem, então crie outro.
Haverão inconveniências sérias. A primeira é que objeto é uma classe de instância, ou seja, pode ser qualquer instância do jogo. Então não há garantias de que o sprite armazenado será o correto.
Nesse caso é altamente recomendável usar o id a menos que esteja usando apenas uma instância por objeto (o que não justificaria, certo? pois você quer pegar um sprite de um objeto igual, que já exista).
Use o id pra armazenar o sprite.
Se mesmo assim você ainda quiser tentar usar o nome, tente usar isso aqui no objeto que quer colocar o sprite:
- Código:
for (a := 0; a < instance_count; a += 1)
begin
if object_get_name(instance_id[a].object_index) = global.equipad then
begin
sprite_index := instance_id[a].sprite_index;
break;
end;
end;
Ele retornará o sprite da primeira instância encontrada cuja classe de objeto seja a mesma da variável que você citou. Boa sorte.
Quando fizer outra pergunta, crie outro tópico pois eu quase não vi seu edit. O edit não atualiza o tópico como nova mensagem, então crie outro.
GameMakerTutoriais- Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios :
x 0 x 4 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Botar nome do objeto numa variavel
Se o caso for não precisar escrever o nome todo do objeto e ter todos os objetos atribuidos em variaveis, faz assim.
Cria um objeto que vai carregar a variavél de todos os outros.
Exemplo:
obj_contole_total
Pronto! Agora quando for invocar um objeto faz isso pela variavél correspondente a ele.
Um detalhe eu não fiz isso pra ver se da certo, mas vele a pena você tentar.
Cria um objeto que vai carregar a variavél de todos os outros.
Exemplo:
obj_contole_total
- Código:
global.obj_jogador = 1;
global.obj_parede = 2;
global.obj_piso = 3;
Pronto! Agora quando for invocar um objeto faz isso pela variavél correspondente a ele.
Um detalhe eu não fiz isso pra ver se da certo, mas vele a pena você tentar.
Shadow10- Games Ranking :
Notas recebidas : C
Data de inscrição : 07/11/2010
Reputação : 19
Número de Mensagens : 429
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Botar nome do objeto numa variavel
Como assim Makerloko?Você quer que o valor da global.equipad faça exatamente ok?Porque não entendi seu Edit...
Super Games- Games Ranking :
Notas recebidas : C
Data de inscrição : 10/06/2010
Reputação : 36
Número de Mensagens : 2799
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Game Maker Studio 2.0
- Java
- C ou C++
Re: Botar nome do objeto numa variavel
@Ninja8086
eu não sei onde botar esses codigos, entao ja que conplica do jeito que eu quero nao tem como pegar a sprite do obj e atribuir a outro sem problemas, de um jeito mais facil???
@Shadow10
não entendi nada do seu jeito de resolver isso mas vlw ae
eu não sei onde botar esses codigos, entao ja que conplica do jeito que eu quero nao tem como pegar a sprite do obj e atribuir a outro sem problemas, de um jeito mais facil???
@Shadow10
não entendi nada do seu jeito de resolver isso mas vlw ae
Convidad- Convidado
Re: Botar nome do objeto numa variavel
Perdão mas, alguém pode citar um exemplo de funcionalidade para se atribuir nome de objetos à variáveis globais?
Tipo, com que interesse isso seria usado?
Não é mais fácil usar aquele sistema:
nome do objeto = obj_bola
se for verificar variaveis dele usa:
obj_bola.variavel
Tipo, com que interesse isso seria usado?
Não é mais fácil usar aquele sistema:
nome do objeto = obj_bola
se for verificar variaveis dele usa:
obj_bola.variavel
Re: Botar nome do objeto numa variavel
@Anderson3d
É que eu quero usar a sprite do objeto que está na variavel global em outro objeto, se tu poder me ajudar......... pode ser sem presisar usar a var. global ok? flw galera amanha entro aki no topico denovo
É que eu quero usar a sprite do objeto que está na variavel global em outro objeto, se tu poder me ajudar......... pode ser sem presisar usar a var. global ok? flw galera amanha entro aki no topico denovo
Convidad- Convidado
Re: Botar nome do objeto numa variavel
Se for assim é mais fácil você usar "sprite_index = sprite".
Ou é bom você esplicar exatamente o que você ta querendo fazer no seu jogo.
Ou é bom você esplicar exatamente o que você ta querendo fazer no seu jogo.
Shadow10- Games Ranking :
Notas recebidas : C
Data de inscrição : 07/11/2010
Reputação : 19
Número de Mensagens : 429
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Botar nome do objeto numa variavel
makerloko escreveu:@Anderson3d
É que eu quero usar a sprite do objeto que está na variavel global em outro objeto, se tu poder me ajudar......... pode ser sem presisar usar a var. global ok? flw galera amanha entro aki no topico denovo
oxi, se o objeto se chamar obj_bola não é só fazer
if obj_bola.sprite_index = x {faz alguma coisa}
obs: x é o nome do sprite. Se for interno é só digitar o nome do sprite, se for externo basta digitar o nome da var global.
Re: Botar nome do objeto numa variavel
Que confusão! O problema foi que, se vocês não leram tudo, o dono do tópico fez duas perguntas em posts diferentes.
Você pode guardar o index do sprite em uma variável para poder usar depois. Supondo que a instância bola queira o index do sprite de quem colidiu com ela, ficaria assim (no evento Collision):
Depois disso, quando for trocar o sprite (de qualquer objeto) para o sprite que você capturou na variável, você use esse código no objeto que quer trocar:
É mais fácil (mas ele havia pedido o nome). Foi depois que eu entendi o porque. Mas há vantagem e desvantagem. Aí depende do objetivo. Tendo o nome do objeto em mãos é mais fácil de trabalhar com as propriedades do objeto usando o nome do que com o id.
Note que eu estou dizendo o id de objeto (usado pelo projeto) e não o id de instância (usado dentro da room).
Se você quiser criar um objeto em tempo real no jogo e atribuir à ele características de outros objetos já criados, você poderia usar o nome para pegar as características de outros objetos pois não há uma palavra-chave que se possa usar para referenciar um objeto do projeto (pois se você usar por exemlo obj_blablabla isso fará referência à instância e não ao objeto do projeto).
Um exemplo. Um script para retornar o id do objeto (no projeto) usando o nome dele (string) como argumento. Assim: pega_id_projeto('obj_personagem')
Daí a gente poderia usá-lo assim:
Ficou complicado?
makerloko escreveu:eu não sei onde botar esses codigos, entao ja que conplica do jeito que eu quero nao tem como pegar a sprite do obj e atribuir a outro sem problemas, de um jeito mais facil???
Você pode guardar o index do sprite em uma variável para poder usar depois. Supondo que a instância bola queira o index do sprite de quem colidiu com ela, ficaria assim (no evento Collision):
- Código:
global.sprite_de_quem_colidiu_comigo := other.sprite_index;
Depois disso, quando for trocar o sprite (de qualquer objeto) para o sprite que você capturou na variável, você use esse código no objeto que quer trocar:
- Código:
sprite_index := global.sprite_de_quem_colidiu_comigo;
Anderson3d escreveu:Perdão mas, alguém pode citar um exemplo de funcionalidade para se atribuir nome de objetos à variáveis globais?
Tipo, com que interesse isso seria usado?
Não é mais fácil usar aquele sistema:
nome do objeto = obj_bola
se for verificar variaveis dele usa:
obj_bola.variavel
É mais fácil (mas ele havia pedido o nome). Foi depois que eu entendi o porque. Mas há vantagem e desvantagem. Aí depende do objetivo. Tendo o nome do objeto em mãos é mais fácil de trabalhar com as propriedades do objeto usando o nome do que com o id.
Note que eu estou dizendo o id de objeto (usado pelo projeto) e não o id de instância (usado dentro da room).
Se você quiser criar um objeto em tempo real no jogo e atribuir à ele características de outros objetos já criados, você poderia usar o nome para pegar as características de outros objetos pois não há uma palavra-chave que se possa usar para referenciar um objeto do projeto (pois se você usar por exemlo obj_blablabla isso fará referência à instância e não ao objeto do projeto).
Um exemplo. Um script para retornar o id do objeto (no projeto) usando o nome dele (string) como argumento. Assim: pega_id_projeto('obj_personagem')
- Código:
for (n := 1; n <= 1000; n += 1)
begin
if object_exists(n) then
begin
if object_get_name(n) = argument0 then return (n);
end;
end;
return (0);
Daí a gente poderia usá-lo assim:
- Código:
global.sprite_padrao_do_obj_bola := object_get_sprite(pega_id_projeto('obj_bola'));
Ficou complicado?
GameMakerTutoriais- Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios :
x 0 x 4 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Botar nome do objeto numa variavel
@Ninja8086
Eu botei isso no colisao do obj
global.equipad := other.sprite_index;
e no event DRAW do obj que eu quero que fique com a sprite
sprite_index := global.equipad
Aparece que nao existe essa sprite, o valor que esta ficando na global.equipad é: 90, mas pq 90 não era para ficar com o nome da sprite??
Eu tambem,bem usei esse codigo no colisao:
global.equipad = sprite_get_name(other.sprite_index)
ai sim o valor da global.equipad ficou com o nome da sprite do obj e continuei usando o mesmo codigo no DRAW mas continua dando erro que não existe a sprite, mas se o nome esta certo, como a sprite não existe??
eo codigo que eu to usando é mesmo pra usar no DRAW???
espero a ajuda galera!!!!!!!!!!!
Eu botei isso no colisao do obj
global.equipad := other.sprite_index;
e no event DRAW do obj que eu quero que fique com a sprite
sprite_index := global.equipad
Aparece que nao existe essa sprite, o valor que esta ficando na global.equipad é: 90, mas pq 90 não era para ficar com o nome da sprite??
Eu tambem,bem usei esse codigo no colisao:
global.equipad = sprite_get_name(other.sprite_index)
ai sim o valor da global.equipad ficou com o nome da sprite do obj e continuei usando o mesmo codigo no DRAW mas continua dando erro que não existe a sprite, mas se o nome esta certo, como a sprite não existe??
eo codigo que eu to usando é mesmo pra usar no DRAW???
espero a ajuda galera!!!!!!!!!!!
Convidad- Convidado
Re: Botar nome do objeto numa variavel
Isso ja aconteceu comigo. Deixa eu ver se eu consigo te esplicar...
Os sprites são criados e o sistema do Game Maker deixa gravado na memória da engine o ID dos sprites sendo reconhecidos por números.
Uma ideia que eu te dou é contar do topo da lista de sprites, escolher o sprite que você quer e colocar em número o ID dele.
E tem mias se você apagar um sprite e criar outro pra substituir ele,
esse novo ja vai entrar com um novo ID.
Exemplo:
você cria 3 sprites.
spr_1(ID = 0), spr_2(ID = 1) e spr_3(ID = 2).
Se você apagar o spr_2 e criar outro pra substituir ele, o ID dele ja não derá mais 1 passará a ser 4.
Entendeu agora?
O programa grava tudo que entra nas pastas e não liga se foi excluido,
continua contando em ordem crescente.
Até mais!
Os sprites são criados e o sistema do Game Maker deixa gravado na memória da engine o ID dos sprites sendo reconhecidos por números.
Uma ideia que eu te dou é contar do topo da lista de sprites, escolher o sprite que você quer e colocar em número o ID dele.
E tem mias se você apagar um sprite e criar outro pra substituir ele,
esse novo ja vai entrar com um novo ID.
Exemplo:
você cria 3 sprites.
spr_1(ID = 0), spr_2(ID = 1) e spr_3(ID = 2).
Se você apagar o spr_2 e criar outro pra substituir ele, o ID dele ja não derá mais 1 passará a ser 4.
Entendeu agora?
O programa grava tudo que entra nas pastas e não liga se foi excluido,
continua contando em ordem crescente.
Até mais!
Shadow10- Games Ranking :
Notas recebidas : C
Data de inscrição : 07/11/2010
Reputação : 19
Número de Mensagens : 429
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Botar nome do objeto numa variavel
@Shadow10
aaaaaaaah endendi! mas então não tem um jeito de fazer isso??? eu achei que esse problema relativamente simples mas deu nisso......
E ai alguem me ajuda!!!!!!!!!!!!
aaaaaaaah endendi! mas então não tem um jeito de fazer isso??? eu achei que esse problema relativamente simples mas deu nisso......
E ai alguem me ajuda!!!!!!!!!!!!
Convidad- Convidado
Re: Botar nome do objeto numa variavel
Me passa a engine que eu te devolvo resolvido.
Shadow10- Games Ranking :
Notas recebidas : C
Data de inscrição : 07/11/2010
Reputação : 19
Número de Mensagens : 429
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Botar nome do objeto numa variavel
Desculpa ae só pude entrar agora
A engine que eu to usando ta um pouco numa e um pouco numa outra, juntar tudo ia ser fodz
mas não tem como tu me ajudar por aki mesmo, ai se conseguir resolver as outras pessoas podem ler aki como resolver
A engine que eu to usando ta um pouco numa e um pouco numa outra, juntar tudo ia ser fodz
mas não tem como tu me ajudar por aki mesmo, ai se conseguir resolver as outras pessoas podem ler aki como resolver
Convidad- Convidado
Página 1 de 2 • 1, 2
Tópicos semelhantes
» [Resolvido]Como criar um objeto com outro valor numa variável?
» variavel numa mensagem
» Como Faço Para Mudar o Nome do Objeto no Jogo??? e tem como também mudar o nome de um objeto com uma tal ID?
» Colisão com um objeto modificar variável de outro objeto
» Retornar o nome da variável
» variavel numa mensagem
» Como Faço Para Mudar o Nome do Objeto no Jogo??? e tem como também mudar o nome de um objeto com uma tal ID?
» Colisão com um objeto modificar variável de outro objeto
» Retornar o nome da variável
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos
|
|