AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
-21%
Le deal à ne pas rater :
LEGO® Icons 10329 Les Plantes Miniatures, Collection Botanique
39.59 € 49.99 €
Voir le deal

 

 Nom d'un objet non scripté

Aller en bas 
+2
Dan_lizhot
M@d_Doc
6 participants
AuteurMessage
M@d_Doc
Modérateur
M@d_Doc


Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

Nom d'un objet non scripté Empty
MessageSujet: Nom d'un objet non scripté   Nom d'un objet non scripté EmptySam 23 Juin 2007 - 23:13

Bon, je voit bien comment marche :
blabla=object_add()

Mais comment serait-il possible de laisser l'utilisateur choisir le nom de l'objet?

et tant qu'on y est, c'est quoi l'event_number, j'ai pas compris ça.
Ah, pas la peine de sortir le fichier d'aide de GM, je l'ai lu.....
Merci d'avance....

_________________
Nom d'un objet non scripté Control-commentTous les icones de gm utilisables sur le cbna ICI  Nom d'un objet non scripté Main1-change-sprite
Revenir en haut Aller en bas
http://www.lecbna.org
Dan_lizhot
Modérateur
Dan_lizhot


Messages : 3463
Projet Actuel : Crypt Of Darkness

Nom d'un objet non scripté Empty
MessageSujet: Re: Nom d'un objet non scripté   Nom d'un objet non scripté EmptySam 23 Juin 2007 - 23:22

M@d_Doc a écrit:
Mais comment serait-il possible de laisser l'utilisateur choisir le nom de l'objet?

j'imagine que ceci pourrait fonctionner

Code:
name=get_string('Quel est le nom de votre objet',"");
name=object_add();

L'event_number, bonne question, je pense que c'est une variable qui dépend des events qui sont en odre dans l'espace réservé lorsque l'on programme un objet, exemple si la collision avec un mur est le 4ième event, je pense qu'on peut mettre un code du genre

Code:
if event_number=4{action}
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc


Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

Nom d'un objet non scripté Empty
MessageSujet: Re: Nom d'un objet non scripté   Nom d'un objet non scripté EmptySam 23 Juin 2007 - 23:49

Code:
name=get_string("nom : ","")
name=object_add()
object_event_add(name,ev_draw,1,"draw_rectangle(0,0,50,50,false)")
instance_create(0,0,name)
En faisant ça, GM détecte un nouvel objet, mais ne l'appelle pas comme je tape, et en plus quand je fais show local variables dans le mode ss échec, il ne trouve pas d'instance au nom de l'objet que j'ai tapé.

Par contre, l'objet crée ainsi s'appelle :
__newobject1
bizarre ❓

Il me met le même nom si je fait

plouf=object_add()

_________________
Nom d'un objet non scripté Control-commentTous les icones de gm utilisables sur le cbna ICI  Nom d'un objet non scripté Main1-change-sprite
Revenir en haut Aller en bas
http://www.lecbna.org
Dan_lizhot
Modérateur
Dan_lizhot


Messages : 3463
Projet Actuel : Crypt Of Darkness

Nom d'un objet non scripté Empty
MessageSujet: Re: Nom d'un objet non scripté   Nom d'un objet non scripté EmptySam 23 Juin 2007 - 23:53

intéressent à savoir happy1
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc


Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

Nom d'un objet non scripté Empty
MessageSujet: Re: Nom d'un objet non scripté   Nom d'un objet non scripté EmptySam 23 Juin 2007 - 23:57

sauf qu'on a toujours pas de réponse.... :snif2:

_________________
Nom d'un objet non scripté Control-commentTous les icones de gm utilisables sur le cbna ICI  Nom d'un objet non scripté Main1-change-sprite
Revenir en haut Aller en bas
http://www.lecbna.org
M@d_Doc
Modérateur
M@d_Doc


Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

Nom d'un objet non scripté Empty
MessageSujet: Re: Nom d'un objet non scripté   Nom d'un objet non scripté EmptyDim 24 Juin 2007 - 11:20

Pitiéééééé, il me faut ce code...... :snif2: :snif2: :snif2: :snif2: :snif2:

_________________
Nom d'un objet non scripté Control-commentTous les icones de gm utilisables sur le cbna ICI  Nom d'un objet non scripté Main1-change-sprite
Revenir en haut Aller en bas
http://www.lecbna.org
Devil37
Utilisateur confirmé: Rang *****
Devil37


Messages : 1815

Nom d'un objet non scripté Empty
MessageSujet: Re: Nom d'un objet non scripté   Nom d'un objet non scripté EmptyDim 24 Juin 2007 - 12:19

Avec les fonctions pré-conçues, apparament GM n'autorise pas le changement de nom des objets, d'après ce qui est dit dans l'aide ...

Si tu tiens avoir absolument un nom pour tes objets utilise la méthode banzaï : met une variable de texte ( le nom choisi ) pour chaque objet ( avec "with" ).


J'espère que ça t'aidera !

_________________
Unvanquished Territories, un MMORPG 3D:
Son Blog
Son Forum
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc


Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

Nom d'un objet non scripté Empty
MessageSujet: Re: Nom d'un objet non scripté   Nom d'un objet non scripté EmptyDim 24 Juin 2007 - 12:24

je comprend ta méthode, mais comment je retrouve l'objet avec ce string, moi?
Parce que les noms bizarres, ils sont plus ou moins imprévisibles et pas faciles à retenir.
Je dois scannés tous les objets jusqu'à en trouver un qui a le bon string? gha

_________________
Nom d'un objet non scripté Control-commentTous les icones de gm utilisables sur le cbna ICI  Nom d'un objet non scripté Main1-change-sprite
Revenir en haut Aller en bas
http://www.lecbna.org
master47
Utilisateur confirmé: Rang *****
master47


Messages : 2368
Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio

Nom d'un objet non scripté Empty
MessageSujet: Re: Nom d'un objet non scripté   Nom d'un objet non scripté EmptyDim 24 Juin 2007 - 23:16

Alors voila

Il est impossible de definir l'id de l'objet car la fonction
Code:
object_add()
te retourne l'id de ceui-ci

par contre, il est possible de définir l'index de celui-ci en faisant par exemple :
Code:

objectID = object_add()
objectID.object_index = "Le Nom de ton Objet"

--> Voila, j'espère que cela va t'aider super
Revenir en haut Aller en bas
http://theperfectpattern.tumblr.com
master47
Utilisateur confirmé: Rang *****
master47


Messages : 2368
Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio

Nom d'un objet non scripté Empty
MessageSujet: Re: Nom d'un objet non scripté   Nom d'un objet non scripté EmptyDim 24 Juin 2007 - 23:18

Alors voila

Il est impossible de definir l'id de l'objet car la fonction
Code:
object_add()
te retourne l'id de ceui-ci

par contre, il est possible de définir l'index de celui-ci en faisant par exemple :
Code:

objectID = object_add()
objectID.object_index = "Le Nom de ton Objet"

--> Voila, j'espère que cela va t'aider super
Revenir en haut Aller en bas
http://theperfectpattern.tumblr.com
M@d_Doc
Modérateur
M@d_Doc


Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

Nom d'un objet non scripté Empty
MessageSujet: Re: Nom d'un objet non scripté   Nom d'un objet non scripté EmptyLun 25 Juin 2007 - 0:17

merci, j'essaye des que je suis chez moi.

_________________
Nom d'un objet non scripté Control-commentTous les icones de gm utilisables sur le cbna ICI  Nom d'un objet non scripté Main1-change-sprite
Revenir en haut Aller en bas
http://www.lecbna.org
Blizter
Banni(e)



Messages : 2002

Nom d'un objet non scripté Empty
MessageSujet: Re: Nom d'un objet non scripté   Nom d'un objet non scripté EmptyLun 25 Juin 2007 - 1:06

Malgré ce que tu as dit :

Code:
object_index* Index of the object this is an instance of. This variable cannot be changed.

Bon, ne peut être changer. Et je ne vois pas pourquoi l'utilisateur devrait choisir un nom... Tu peux lui faire croire que qu'il lui donne un nom en lui donnant une variable global qui renvoit l'id de l'objet. Tu peux faire une variable global qui a le nom de l'objet et qui contient son id avec :

Code:

nom=get_string("Nom de l'objet","Simon");
if(!variable_global_exists(nom))
{
  variable_global_set(nom,tonObjet.id);
}

bye
Revenir en haut Aller en bas
Levans
Utilisateur confirmé: Rang *****
Levans


Messages : 1598
Localisation : France -> Île de France -> Essonne -> Gif sur Yvette

Nom d'un objet non scripté Empty
MessageSujet: Re: Nom d'un objet non scripté   Nom d'un objet non scripté EmptyLun 25 Juin 2007 - 8:25

on peut faire ça :
Code:
nom = get_string("nom de l'objet");
execute_string(nom + "=object_add()";

MAIS : toutes tes actions utilisant l'objet devront être sous la forme de execute_string("");

et à l"int"rieur, tu devra toutjours remplacé la variable contenant l'objet par " + nom + ", et la variable nom ne devra plus changer.

_________________


Tuto 39Dll, jeux multijoueurs sur internet :
fleche_d ici fleche_g

Nom d'un objet non scripté Banniere
pour la compet n°7 coeur coeur
Revenir en haut Aller en bas
Devil37
Utilisateur confirmé: Rang *****
Devil37


Messages : 1815

Nom d'un objet non scripté Empty
MessageSujet: Re: Nom d'un objet non scripté   Nom d'un objet non scripté EmptyLun 25 Juin 2007 - 12:17

Levans a écrit:
on peut faire ça :
Code:
nom = get_string("nom de l'objet");
execute_string(nom + "=object_add()";

MAIS : toutes tes actions utilisant l'objet devront être sous la forme de execute_string("");

et à l"int"rieur, tu devra toutjours remplacé la variable contenant l'objet par " + nom + ", et la variable nom ne devra plus changer.

Ca revient au même que de faire par exemple :
machin=object_add()


Tu peux aussi ne faire qu'un objet, c'est à dire que tu crée des instances au lieu d'objets et ainsi tu peux faire ( en connaissant le nom attribué dans une chaîne texte ) :

with ton_objet{if(text="tontexte"){other.choose=id}}

Ainsi, ton objet principal mettra dans la variable "choose" l'id de l'objet de text "tontexte" ...

EDIT : Ou alors tu pourrais faire une base de donnée sous forme de tableaux pour avoir le bon nom :

Exemple :

La variable global.max représente le nombre d'objets en tout
Code:

//Création d'objet
global.max+=1
global.obj[global.max]=object_add
global.nom[global.max]="tontexte"
//Désignation d'objet ( en connaissant le texte )
i=1
while(i<=global.max)
{
if(global.nom[i]="tontexte"){objet=global.obj[i];break;}
i+=1
}

Ton objet sera récupéré dans la variable objet


Voilà
En espérant que ces lignes t'aideront !

_________________
Unvanquished Territories, un MMORPG 3D:
Son Blog
Son Forum
Revenir en haut Aller en bas
Levans
Utilisateur confirmé: Rang *****
Levans


Messages : 1598
Localisation : France -> Île de France -> Essonne -> Gif sur Yvette

Nom d'un objet non scripté Empty
MessageSujet: Re: Nom d'un objet non scripté   Nom d'un objet non scripté EmptyLun 25 Juin 2007 - 20:35

Damator a écrit:
Levans a écrit:
on peut faire ça :
Code:
nom = get_string("nom de l'objet");
execute_string(nom + "=object_add()";

MAIS : toutes tes actions utilisant l'objet devront être sous la forme de execute_string("");

et à l"int"rieur, tu devra toutjours remplacé la variable contenant l'objet par " + nom + ", et la variable nom ne devra plus changer.

Ca revient au même que de faire par exemple :
machin=object_add()
non.

Code:
nom = get_string("nom de l'objet");

L'utilisateur rentre "machin"

donc : nom = "machin"

Code:
execute_string(nom + "=object_add()");

devient

Code:
execute_string("machin=object_add()");

donc, le code executé :

Code:
machin=object_add();

_________________


Tuto 39Dll, jeux multijoueurs sur internet :
fleche_d ici fleche_g

Nom d'un objet non scripté Banniere
pour la compet n°7 coeur coeur
Revenir en haut Aller en bas
master47
Utilisateur confirmé: Rang *****
master47


Messages : 2368
Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio

Nom d'un objet non scripté Empty
MessageSujet: Re: Nom d'un objet non scripté   Nom d'un objet non scripté EmptyLun 25 Juin 2007 - 21:08

blizter a écrit:
Malgré ce que tu as dit :

Code:
object_index* Index of the object this is an instance of. This variable cannot be changed.

Bon, ne peut être changer. Et je ne vois pas pourquoi l'utilisateur devrait choisir un nom... Tu peux lui faire croire que qu'il lui donne un nom en lui donnant une variable global qui renvoit l'id de l'objet. Tu peux faire une variable global qui a le nom de l'objet et qui contient son id avec :

Code:

nom=get_string("Nom de l'objet","Simon");
if(!variable_global_exists(nom))
{
  variable_global_set(nom,tonObjet.id);
}

bye

Je t'explique : l'index de l'objet peut être modifié à condition que tu créé cet objet juste avant.
T'as qu'a esssayer mon code, et faire dans ta console
Code:
instance_number('l'index que tu lui a choisi')
et tu verras que cela fonctionnne :nah:
Revenir en haut Aller en bas
http://theperfectpattern.tumblr.com
master47
Utilisateur confirmé: Rang *****
master47


Messages : 2368
Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio

Nom d'un objet non scripté Empty
MessageSujet: Re: Nom d'un objet non scripté   Nom d'un objet non scripté EmptyLun 25 Juin 2007 - 21:09

blizter a écrit:
Malgré ce que tu as dit :

Code:
object_index* Index of the object this is an instance of. This variable cannot be changed.

Bon, ne peut être changer. Et je ne vois pas pourquoi l'utilisateur devrait choisir un nom... Tu peux lui faire croire que qu'il lui donne un nom en lui donnant une variable global qui renvoit l'id de l'objet. Tu peux faire une variable global qui a le nom de l'objet et qui contient son id avec :

Code:

nom=get_string("Nom de l'objet","Simon");
if(!variable_global_exists(nom))
{
  variable_global_set(nom,tonObjet.id);
}

bye

Je t'explique : l'index de l'objet peut être modifié à condition que tu créé cet objet juste avant.
T'as qu'a esssayer mon code, et faire dans ta console
Code:
instance_number('l'index que tu lui a choisi')
et tu verras que cela fonctionnne :nah:
Revenir en haut Aller en bas
http://theperfectpattern.tumblr.com
Devil37
Utilisateur confirmé: Rang *****
Devil37


Messages : 1815

Nom d'un objet non scripté Empty
MessageSujet: Re: Nom d'un objet non scripté   Nom d'un objet non scripté EmptyMar 26 Juin 2007 - 10:25

Oui c'est bien ce que je dit !
Mais ça ne résout pas son problème !!

_________________
Unvanquished Territories, un MMORPG 3D:
Son Blog
Son Forum
Revenir en haut Aller en bas
Blizter
Banni(e)



Messages : 2002

Nom d'un objet non scripté Empty
MessageSujet: Re: Nom d'un objet non scripté   Nom d'un objet non scripté EmptyMar 26 Juin 2007 - 17:25

Ah ! alors oui, daminator, ça résout son problème.
Revenir en haut Aller en bas
Devil37
Utilisateur confirmé: Rang *****
Devil37


Messages : 1815

Nom d'un objet non scripté Empty
MessageSujet: Re: Nom d'un objet non scripté   Nom d'un objet non scripté EmptyMar 26 Juin 2007 - 21:29

Merci^^ J'espère qu'il saura l'intégrer sinon ba il n'a qu'à me le demander

_________________
Unvanquished Territories, un MMORPG 3D:
Son Blog
Son Forum
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc


Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

Nom d'un objet non scripté Empty
MessageSujet: Re: Nom d'un objet non scripté   Nom d'un objet non scripté EmptyJeu 5 Juil 2007 - 13:08

Finalement, c'est tout facile....

Code:
// créer un objet, dont le nom est choisi :
//on appelle pour l'exemple l'objet AA

execute_string(get_string("nom de l'objet : ","AA")+"=object_add()")
Code:
//pour créer une instance de cet objet, on l'appelle simplement :
instance_create(510,210,AA)
Code:
//On vérifie que l'instance a été créee comme il faut :
if instance_exists(AA)
{show_message("Gagne !!######Yeeehaaaaaaa")}

_________________
Nom d'un objet non scripté Control-commentTous les icones de gm utilisables sur le cbna ICI  Nom d'un objet non scripté Main1-change-sprite
Revenir en haut Aller en bas
http://www.lecbna.org
Contenu sponsorisé





Nom d'un objet non scripté Empty
MessageSujet: Re: Nom d'un objet non scripté   Nom d'un objet non scripté Empty

Revenir en haut Aller en bas
 
Nom d'un objet non scripté
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [C#] Acceder à une variable/fontion d'un objet depuis un autre objet
» Cliquer sur un objet sans que l'objet qui est dessous soit affecté.
» Appeler, dans un objet, une var d'un autre objet [résolu]
» [Résolu] Objet qui suis le view d'un autre objet
» Positionner un objet par rapport à un autre objet en rotation.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide confirmés-
Sauter vers: