AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -17%
(Black Friday) Apple watch Apple SE GPS + Cellular ...
Voir le deal
249 €

 

 Définir des variable dans un objet (object_add)

Aller en bas 
5 participants
AuteurMessage
Termite
Utilisateur confirmé: Rang ****
Termite


Messages : 1005
Localisation : Dans ta charpente !
Projet Actuel : RayEngine 5.0

Définir des variable dans un objet (object_add) Empty
MessageSujet: Définir des variable dans un objet (object_add)   Définir des variable dans un objet (object_add) EmptyVen 27 Aoû 2010 - 15:56

Bonjour !

Voilà, j'aurais besoin de modifier la variable image_speed dans un objet créé via object_add() (dans un script)


le code ressemble à ça :

Code:

effect = object_add()
with (effect) {variable_local_set("imagespeed",real("effect_imagespeed"))
object_event_add(effect,ev_create,ev_create,'image_speed=variable_local_get("imagespeed")')

Mais ça marche pas, il me met image_speed à zéro, surement que j'ai pas pu lui assigner sa variable Sad

j'ai aussi tenté en faisant "with (effect) {image_speed = other.effect_imagespeed)}", il me met image_speed à 1 (qui est sensé être, dans ce cas, à 0.5)

Comment puis assigner correctement une variable à cette objet ?

Merci de votre aide et bonne journée !
Revenir en haut Aller en bas
l0lmanPH
Utilisateur confirmé: Rang *
l0lmanPH


Messages : 226
Localisation : cbna.forumactif.com
Projet Actuel : Le Méchant Tueur de Bisounours
Metroid Prime : Némésis
Tutoriel GM

Définir des variable dans un objet (object_add) Empty
MessageSujet: Re: Définir des variable dans un objet (object_add)   Définir des variable dans un objet (object_add) EmptyVen 27 Aoû 2010 - 18:13

Tu dois mettre "0" à la place du deuxième "ev_create".
Revenir en haut Aller en bas
Termite
Utilisateur confirmé: Rang ****
Termite


Messages : 1005
Localisation : Dans ta charpente !
Projet Actuel : RayEngine 5.0

Définir des variable dans un objet (object_add) Empty
MessageSujet: Re: Définir des variable dans un objet (object_add)   Définir des variable dans un objet (object_add) EmptyVen 27 Aoû 2010 - 18:17

ça marche pas, il assigne pas la variable..
Revenir en haut Aller en bas
red-error
Utilisateur confirmé: Rang ****
red-error


Messages : 1015
Projet Actuel : Définir des variable dans un objet (object_add) Bas-machoire2000

Définir des variable dans un objet (object_add) Empty
MessageSujet: Re: Définir des variable dans un objet (object_add)   Définir des variable dans un objet (object_add) EmptySam 28 Aoû 2010 - 0:42

variable_local_set c'est pour assigner une variable dont le nom est un string à une instance,
ce que tu veux faire c'est ajouter du code dans l'évènement "Event - Create create" de l'objet.

En plus effect = object_add() ne créé pas d'instance de l'objet, donc with (effect) ne fait rien ici. Very Happy
Ce qu'il faut que tu fasse ça se résume en

Code:
effect = object_add();
object_event_add(effect,ev_create,0,
"image_speed="+string(effect_imagespeed)+";")
);


Si effect_imagespeed est défini localement dans le script avant.




Note : je suis lite, mais j'ai lu l'aide. Définir des variable dans un objet (object_add) 1261709312_Chapeaumelon
Revenir en haut Aller en bas
Termite
Utilisateur confirmé: Rang ****
Termite


Messages : 1005
Localisation : Dans ta charpente !
Projet Actuel : RayEngine 5.0

Définir des variable dans un objet (object_add) Empty
MessageSujet: Re: Définir des variable dans un objet (object_add)   Définir des variable dans un objet (object_add) EmptySam 28 Aoû 2010 - 1:01

Ah oui, effectivement ça marche Very Happy

Merci beaucoups ! (le truc c'est que j'mettais tout en "" dans le code à éxecuter)
Revenir en haut Aller en bas
Qual
Utilisateur confirmé: Rang ****
Qual


Messages : 1450
Projet Actuel : Tower Defence

Définir des variable dans un objet (object_add) Empty
MessageSujet: Re: Définir des variable dans un objet (object_add)   Définir des variable dans un objet (object_add) EmptyDim 29 Aoû 2010 - 3:38

mais si tu mettait simplement le code directement dans le create event de l'objet en question Définir des variable dans un objet (object_add) Question
Revenir en haut Aller en bas
http://www.brainwizz.fr
Kevin
Utilisateur confirmé: Rang **
Kevin


Messages : 393
Localisation : Toujours en mouvement
Projet Actuel : Un truc sur le Far west

Définir des variable dans un objet (object_add) Empty
MessageSujet: Re: Définir des variable dans un objet (object_add)   Définir des variable dans un objet (object_add) EmptyDim 29 Aoû 2010 - 4:11

Je crois que c'est ce qu'il a fait hap
Revenir en haut Aller en bas
Termite
Utilisateur confirmé: Rang ****
Termite


Messages : 1005
Localisation : Dans ta charpente !
Projet Actuel : RayEngine 5.0

Définir des variable dans un objet (object_add) Empty
MessageSujet: Re: Définir des variable dans un objet (object_add)   Définir des variable dans un objet (object_add) EmptyDim 29 Aoû 2010 - 4:25

Qual a écrit:
mais si tu mettait simplement le code directement dans le create event de l'objet en question Définir des variable dans un objet (object_add) Question
Ben nan, c'est un object paramétré via un script, j'avais besoin de définir des variables dans create, m'enfin Very Happy
Revenir en haut Aller en bas
Termite
Utilisateur confirmé: Rang ****
Termite


Messages : 1005
Localisation : Dans ta charpente !
Projet Actuel : RayEngine 5.0

Définir des variable dans un objet (object_add) Empty
MessageSujet: Re: Définir des variable dans un objet (object_add)   Définir des variable dans un objet (object_add) EmptyLun 30 Aoû 2010 - 2:04

Bon, j'ai un autre problème Very Happy

Je stocke des variables dans une grid nommé layergrid, qui sont lu dans un fichier.

Tout se fait correctement, jusqu'à ce que j'ai besoin de parcourir ce tableau (toujours avec object_add), en effet je dois récupérer la valeur à la position "0,image_index (de l'object)" et celle à "1,image_index (de l'objet)"

le code actuelle :

Code:

 object_event_add(weather,ev_create,0,"

 image_index=irandom(image_number-1)

 layered="+string(layered)+"

 if layered=1
 {
  depth="+string(ds_grid_get(layergrid,0,"image_index")+"
  _maxspeed*="+string(ds_grid_get(layergrid,1,"image_index")+"
 }



Comment puis-je récupérer correctement l'image_index ?

merci à tous !

Revenir en haut Aller en bas
l0lmanPH
Utilisateur confirmé: Rang *
l0lmanPH


Messages : 226
Localisation : cbna.forumactif.com
Projet Actuel : Le Méchant Tueur de Bisounours
Metroid Prime : Némésis
Tutoriel GM

Définir des variable dans un objet (object_add) Empty
MessageSujet: Re: Définir des variable dans un objet (object_add)   Définir des variable dans un objet (object_add) EmptyLun 30 Aoû 2010 - 9:43

J'te conseille de stocker ta string dans une variable plutôt que de la mettre direct dans un object_add.
Revenir en haut Aller en bas
Termite
Utilisateur confirmé: Rang ****
Termite


Messages : 1005
Localisation : Dans ta charpente !
Projet Actuel : RayEngine 5.0

Définir des variable dans un objet (object_add) Empty
MessageSujet: Re: Définir des variable dans un objet (object_add)   Définir des variable dans un objet (object_add) EmptyLun 30 Aoû 2010 - 14:16

l0lmanPH a écrit:
J'te conseille de stocker ta string dans une variable plutôt que de la mettre direct dans un object_add.
Un truc de ce style ?

Code:

 index=irandom(layerID)
  __depth=ds_grid_get(layergrid,0,index)
  __maxspeed=ds_grid_get(layergrid,1,index)


 object_event_add(weather,ev_create,0,"
 randomize()
 image_index="+string(index)+"
  _maxspeed="+string(maxspeed)+"
 layered="+string(layered)+"
 
 if layered=1
 {
  depth="+string(__depth)+"
  _maxspeed*="+string(__maxspeed)+"
 }

Mais ça marche pas mieux Sad
Revenir en haut Aller en bas
red-error
Utilisateur confirmé: Rang ****
red-error


Messages : 1015
Projet Actuel : Définir des variable dans un objet (object_add) Bas-machoire2000

Définir des variable dans un objet (object_add) Empty
MessageSujet: Re: Définir des variable dans un objet (object_add)   Définir des variable dans un objet (object_add) EmptyLun 30 Aoû 2010 - 15:54

code a écrit:

object_event_add(weather,ev_create,0,"

image_index=irandom(image_number-1)

layered=
"+string(layered)+"

if layered=1
{
depth=
"+string(ds_grid_get(layergrid,0,"image_index")+"
_maxspeed*=
"+string(ds_grid_get(layergrid,1,"image_index")+"
}

") //oubli de copier-coller ?
Là, le image_index est en bleu dans le grid, donc il compte comme du texte lors de l'exécution du code > X

code 2 a écrit:

index=irandom(layerID)
__depth=ds_grid_get(layergrid,0,index)
__maxspeed=ds_grid_get(layergrid,1,index)


object_event_add(weather,ev_create,0,"
randomize()
image_index=
"+string(index)+"
_maxspeed=
"+string(maxspeed)+"
layered=
"+string(layered)+"

if layered=1
{
depth=
"+string(__depth)+"
_maxspeed*=
"+string(__maxspeed)+"
}
") // oubli de copier-coller ?
Pas compris en fait. :oue:

En tout cas, ce que dit LolmanPh doit ressembler à ça :
code a écrit:

var imgindx;
imgindx=irandom(sprite_get_number(object_get_sprite(weather))-1); //var contenant le irandom du number du sprite de l'objet
object_event_add(weather,ev_create,0,"

image_index=
"+string(imgindx)
+"

layered=
"+string(layered)+"

if layered=1
{
depth=
"+string(ds_grid_get(layergrid,0,imgindx)+"
_maxspeed*=
"+string(ds_grid_get(layergrid,1,imgindx)+"
}

")
Revenir en haut Aller en bas
Termite
Utilisateur confirmé: Rang ****
Termite


Messages : 1005
Localisation : Dans ta charpente !
Projet Actuel : RayEngine 5.0

Définir des variable dans un objet (object_add) Empty
MessageSujet: Re: Définir des variable dans un objet (object_add)   Définir des variable dans un objet (object_add) EmptyLun 30 Aoû 2010 - 16:34

red-error a écrit:
code a écrit:

object_event_add(weather,ev_create,0,"

image_index=irandom(image_number-1)

layered=
"+string(layered)+"

if layered=1
{
depth=
"+string(ds_grid_get(layergrid,0,"image_index")+"
_maxspeed*=
"+string(ds_grid_get(layergrid,1,"image_index")+"
}

") //oubli de copier-coller ?
Là, le image_index est en bleu dans le grid, donc il compte comme du texte lors de l'exécution du code > X

code 2 a écrit:

index=irandom(layerID)
__depth=ds_grid_get(layergrid,0,index)
__maxspeed=ds_grid_get(layergrid,1,index)


object_event_add(weather,ev_create,0,"
randomize()
image_index=
"+string(index)+"
_maxspeed=
"+string(maxspeed)+"
layered=
"+string(layered)+"

if layered=1
{
depth=
"+string(__depth)+"
_maxspeed*=
"+string(__maxspeed)+"
}
") // oubli de copier-coller ?
Pas compris en fait. :oue:

En tout cas, ce que dit LolmanPh doit ressembler à ça :
code a écrit:

var imgindx;
imgindx=irandom(sprite_get_number(object_get_sprite(weather))-1); //var contenant le irandom du number du sprite de l'objet
object_event_add(weather,ev_create,0,"

image_index=
"+string(imgindx)
+"

layered=
"+string(layered)+"

if layered=1
{
depth=
"+string(ds_grid_get(layergrid,0,imgindx)+"
_maxspeed*=
"+string(ds_grid_get(layergrid,1,imgindx)+"
}

")
J'vais tenter ça, thx Smile

edit : oui, oubli Very Happy
Revenir en haut Aller en bas
Contenu sponsorisé





Définir des variable dans un objet (object_add) Empty
MessageSujet: Re: Définir des variable dans un objet (object_add)   Définir des variable dans un objet (object_add) Empty

Revenir en haut Aller en bas
 
Définir des variable dans un objet (object_add)
Revenir en haut 
Page 1 sur 1

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