Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
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 : 2800
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
- Godot
- Javascript
- 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