GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» 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

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


Botar nome do objeto numa variavel

+2
vinians
Datebanhawn
6 participantes

Página 1 de 2 1, 2  Seguinte

Ir para baixo

Botar nome do objeto numa variavel Empty Botar nome do objeto numa variavel

Mensagem por Convidad Qui 10 Fev 2011, 16:40

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!!!


Última edição por makerloko em Qui 10 Fev 2011, 18:24, editado 2 vez(es)
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

Botar nome do objeto numa variavel Empty Re: Botar nome do objeto numa variavel

Mensagem por Datebanhawn Qui 10 Fev 2011, 16:51

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
Datebanhawn
Datebanhawn

Data de inscrição : 29/01/2011
Reputação : 1
Número de Mensagens : 182
Prêmios : Botar nome do objeto numa variavel Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Botar nome do objeto numa variavel Empty Re: Botar nome do objeto numa variavel

Mensagem por Convidad Qui 10 Fev 2011, 16:58

@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?
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

Botar nome do objeto numa variavel Empty Re: Botar nome do objeto numa variavel

Mensagem por vinians Qui 10 Fev 2011, 17:05

No Evento de Colisão
Código:

global.obje = id;
vinians
vinians

Games Ranking : Nota B

Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Reputação : 90
Número de Mensagens : 2715
Prêmios : Botar nome do objeto numa variavel Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Construct 2
  • Java
  • C#
  • Javascript
  • C ou C++
  • Outros


https://vinians.itch.io

Ir para o topo Ir para baixo

Botar nome do objeto numa variavel Empty Re: Botar nome do objeto numa variavel

Mensagem por GameMakerTutoriais Qui 10 Fev 2011, 17:07

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);
avatar
GameMakerTutoriais

Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios : Botar nome do objeto numa variavel Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Botar nome do objeto numa variavel Empty Re: Botar nome do objeto numa variavel

Mensagem por Convidad Qui 10 Fev 2011, 17:29

@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?
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

Botar nome do objeto numa variavel Empty Re: Botar nome do objeto numa variavel

Mensagem por GameMakerTutoriais Qui 10 Fev 2011, 19:17

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:

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. Smile
avatar
GameMakerTutoriais

Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios : Botar nome do objeto numa variavel Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Botar nome do objeto numa variavel Empty Re: Botar nome do objeto numa variavel

Mensagem por Shadow10 Qui 10 Fev 2011, 20:17

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
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
Shadow10

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 07/11/2010
Reputação : 19
Número de Mensagens : 429
Prêmios : Botar nome do objeto numa variavel Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Botar nome do objeto numa variavel Empty Re: Botar nome do objeto numa variavel

Mensagem por Super Games Qui 10 Fev 2011, 21:32

Como assim Makerloko?Você quer que o valor da global.equipad faça exatamente ok?Porque não entendi seu Edit...
Super Games
Super Games

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 10/06/2010
Reputação : 36
Número de Mensagens : 2799
Prêmios : Botar nome do objeto numa variavel Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Java
  • C ou C++


Ir para o topo Ir para baixo

Botar nome do objeto numa variavel Empty Re: Botar nome do objeto numa variavel

Mensagem por Convidad Qui 10 Fev 2011, 21:49

@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
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

Botar nome do objeto numa variavel Empty Re: Botar nome do objeto numa variavel

Mensagem por Anderson3d Qui 10 Fev 2011, 22:38

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

Anderson3d
Anderson3d

Games Ranking : Nota A

Notas recebidas : A - A
Data de inscrição : 15/02/2009
Reputação : 9
Número de Mensagens : 1479
Prêmios : Botar nome do objeto numa variavel Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 1

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

http://www.indiegamebr.com

Ir para o topo Ir para baixo

Botar nome do objeto numa variavel Empty Re: Botar nome do objeto numa variavel

Mensagem por Convidad Qui 10 Fev 2011, 22:52

@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
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

Botar nome do objeto numa variavel Empty Re: Botar nome do objeto numa variavel

Mensagem por Shadow10 Qui 10 Fev 2011, 23:58

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.scratch
Shadow10
Shadow10

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 07/11/2010
Reputação : 19
Número de Mensagens : 429
Prêmios : Botar nome do objeto numa variavel Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Botar nome do objeto numa variavel Empty Re: Botar nome do objeto numa variavel

Mensagem por Anderson3d Sex 11 Fev 2011, 00:50

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.
Anderson3d
Anderson3d

Games Ranking : Nota A

Notas recebidas : A - A
Data de inscrição : 15/02/2009
Reputação : 9
Número de Mensagens : 1479
Prêmios : Botar nome do objeto numa variavel Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 1

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

http://www.indiegamebr.com

Ir para o topo Ir para baixo

Botar nome do objeto numa variavel Empty Re: Botar nome do objeto numa variavel

Mensagem por GameMakerTutoriais Sex 11 Fev 2011, 00:58

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.

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?
avatar
GameMakerTutoriais

Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios : Botar nome do objeto numa variavel Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Botar nome do objeto numa variavel Empty Re: Botar nome do objeto numa variavel

Mensagem por Convidad Sex 11 Fev 2011, 19:39

@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!!!!!!!!!!!
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

Botar nome do objeto numa variavel Empty Re: Botar nome do objeto numa variavel

Mensagem por Shadow10 Sex 11 Fev 2011, 21:52

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!
Shadow10
Shadow10

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 07/11/2010
Reputação : 19
Número de Mensagens : 429
Prêmios : Botar nome do objeto numa variavel Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Botar nome do objeto numa variavel Empty Re: Botar nome do objeto numa variavel

Mensagem por Convidad Sex 11 Fev 2011, 22:43

@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!!!!!!!!!!!!
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

Botar nome do objeto numa variavel Empty Re: Botar nome do objeto numa variavel

Mensagem por Shadow10 Sáb 12 Fev 2011, 23:41

Me passa a engine que eu te devolvo resolvido.
Shadow10
Shadow10

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 07/11/2010
Reputação : 19
Número de Mensagens : 429
Prêmios : Botar nome do objeto numa variavel Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Botar nome do objeto numa variavel Empty Re: Botar nome do objeto numa variavel

Mensagem por Convidad Dom 13 Fev 2011, 02:18

Desculpa ae só pude entrar agora Sad

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 Smile
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

Botar nome do objeto numa variavel Empty Re: Botar nome do objeto numa variavel

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Página 1 de 2 1, 2  Seguinte

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos