| | easy light | |
| | Auteur | Message |
---|
martial Petit bavard
Messages : 54 Projet Actuel : Jeux serieux
| Sujet: easy light Mar 5 Fév 2013 - 10:50 | |
| Bonjour, Lorsque je lance le jeu et que je copie du code, j'ai une erreur qui dit qu'il ne connait pas red.lum pour la fonction draw_sprite(...)
Je ne trouve pas de sprite lum, mais j'ai un objet red.... d'où vient l'erreur. je pense que .lum est une instance de red, mais où est-ce que ceci est défini ?
Merci
Martial |
| | | Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: easy light Mar 5 Fév 2013 - 11:49 | |
| Arg..... C'est quoi ce bordel ?? Pourquoi tu créé plusieurs topics pour le même problème ? Donc sinon pour ton problème, c'est pas une instance, il n'y aurait aucun intérêt, c'est plutôt un sprite créé dynamiquement avec une fonction ; pour savoir laquelle, cherche dans la doc et relis ton code. |
| | | martial Petit bavard
Messages : 54 Projet Actuel : Jeux serieux
| Sujet: Re: easy light Mar 5 Fév 2013 - 12:13 | |
| e me suis trompé... j'ai appuyé sur nouveau !!! C'est pour ça que cela en a crée un autre ! Voila ou j'en suis en parcourant les script de Easylight system
J'ai vu ça dans le code de la librairie MDlight 1 - dans le script draw_light //draw_light(x,y) //La lumière n'est pas à définir : c'est celle de l'objet qui execute le script. draw_sprite(self.lum,-1,argument0,argument1) 2 - dans le script create_light self.lum=sprite_create_from_screen(0,0,2*argument2,2*argument2,true,true,true,true,argument2,argument2)
Pourquoi ça marche pas ? J'ai modifié les arguments de sprite_create_from_screen car obsolète avec la version 8 (comme demandé par le modérateur onilink_), mais il plante toujours sur la fonction dans mon code red.lum quand j'applique le code à l'objet red !!
Martial
|
| | | Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: easy light Mar 5 Fév 2013 - 12:38 | |
| C'est quoi les arguments du script ? |
| | | martial Petit bavard
Messages : 54 Projet Actuel : Jeux serieux
| Sujet: Re: easy light Mar 5 Fév 2013 - 12:43 | |
| j'ai ceci dans create light :
//rayon : r argument2 /// //couleur : c1 argument3 /// //intensité : argument4 /// //syntaxe : create_light(x,y,r,color,intensite) /// //Attention! ça creer une light, mais ne l'affiche pas !! //direction : dir argument0 //angle : argument1
c'est tout !
Martial |
| | | Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: easy light Mar 5 Fév 2013 - 12:53 | |
| Je comprend rien... Il y a écrit create_light(x,y,r,color,intensite) et dir : argument0 ?! Donc passe moi le script en entier stp... |
| | | martial Petit bavard
Messages : 54 Projet Actuel : Jeux serieux
| Sujet: Re: easy light Mar 5 Fév 2013 - 12:54 | |
| ///////////////////////////////////////////////////////////// // /// // /// //rayon : r argument2 /// //couleur : c1 argument3 /// //intensité : argument4 /// //syntaxe : create_light(x,y,r,color,intensite) /// //Attention! ça creer une light, mais ne l'affiche pas !! //direction : dir argument0 //angle : argument1 ///////////////////////////////////////////////////////////// draw_rectangle_color(0,0,2*argument2,2*argument2,c_black,c_black,c_black,c_black,false)
draw_circle_color(argument2,argument2,argument2,argument3,argument3,false)
self.lum=sprite_create_from_screen(0,0,2*argument2,2*argument2,true,true,true,true,argument2,argument2)
if argument4=1 {c=c_dkgray} if argument4=2 {c=c_gray} if argument4=3 {c=c_ltgray} if argument4=4 {c=c_white}
draw_rectangle_color(0,0,2*argument2,2*argument2,c_black,c_black,c_black,c_black,false) draw_circle_color(argument2,argument2,argument2,c,c_black,false)
self.lum_alpha=sprite_create_from_screen(0,0,2*argument2,2*argument2,true,true,true,true,argument2,argument2) sprite_set_alpha_from_sprite(self.lum,self.lum_alpha) sprite_delete(self.lum_alpha)
|
| | | Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: easy light Mar 5 Fév 2013 - 13:06 | |
| Il manque un argument à sprite_create_from_surface : l'id ; donc rajoute un 0 devant tous les autres arguments. |
| | | martial Petit bavard
Messages : 54 Projet Actuel : Jeux serieux
| Sujet: Re: easy light Mar 5 Fév 2013 - 16:02 | |
| ??? [Il manque un argument à sprite_create_from_surface : l'id ; donc rajoute un 0 devant tous les autres arguments.]
sprite_create_from_surface ???
je n'ai pas cette fonction ici ?
Pour sprite_create_from_screen, la fonction est sprite_create_from_screen(x, y, w, h, precise, transparent, smooth, preload, xorig, yorig)
Le nombre de paramètres semble bon ? Non ? en tout cas en phase avec : sprite_create_from_screen(0,0,2*argument2,2*argument2,true,true,true,true,argument2,argument2)
Martial |
| | | Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: easy light Mar 5 Fév 2013 - 16:08 | |
| Autant pour moi, j'ai mal lu, désolé... |
| | | onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: easy light Mar 5 Fév 2013 - 16:13 | |
| Il semblerais qu'il s'agit du même problème que dans ton autre poste: https://cbna.forumactif.com/t12146-easy-lighting-systemCe code ci devrais être compatible avec ta version de GM: - Code:
-
///////////////////////////////////////////////////////////// // /// // /// //rayon : r argument2 /// //couleur : c1 argument3 /// //intensité : argument4 /// //syntaxe : create_light(x,y,r,color,intensite) /// //Attention! ça creer une light, mais ne l'affiche pas !! //direction : dir argument0 //angle : argument1 ///////////////////////////////////////////////////////////// draw_rectangle_color(0,0,2*argument2,2*argument2,c_black,c_black,c_black,c_black,false) draw_circle_color(argument2,argument2,argument2,argument3,argument3,false) http://self.lum=sprite_create_from_screen(0,0,2*argument2,2*argument2,true,true,true,true,argument2,argument2)self.lum=sprite_create_from_screen(0,0,2*argument2,2*argument2, false,true,argument2,argument2) if argument4=1 {c=c_dkgray} if argument4=2 {c=c_gray} if argument4=3 {c=c_ltgray} if argument4=4 {c=c_white} draw_rectangle_color(0,0,2*argument2,2*argument2,c_black,c_black,c_black,c_black,false) draw_circle_color(argument2,argument2,argument2,c,c_black,false) http://self.lum_alpha=sprite_create_from_screen(0,0,2*argument2,2*argument2,true,true,true,true,argument2,argument2)self.lum_alpha=sprite_create_from_screen(0,0,2*argument2,2*argument2, false,true,argument2,argument2) sprite_set_alpha_from_sprite(self.lum,self.lum_alpha) sprite_delete(self.lum_alpha) S'il y a toujours des erreurs copie les et poste les, ainsi que les codes associés. |
| | | martial Petit bavard
Messages : 54 Projet Actuel : Jeux serieux
| Sujet: Re: easy light Mar 5 Fév 2013 - 16:47 | |
| Bonjour, Merci. C'est bon. Maintenant l'exemple fonctionne.
je reviens donc à ma question initiale....
Dans l'exemple, on a un objet appelé room9 avec un event "Draw" et le code ci-dessous :
draw_text(0,20,"Ici, on a utiliser les lumieres de pleins d'objets") draw_sprite(red.lum,-1,100,100) draw_sprite(blue.lum,-1,300,300)
or dans mon jeu, le red.lum plante ???? il n'y a pourtant dans l'application exemple pas de sprite red.lum ni de sprite lum. j'ai trouvé juste un objet red auquel est assigné un event create avec une action create light.... Comment est faite cette indentation ? que signifie-t-elle ? Que-est-ce-que je fais de faux ?
Merci Martial |
| | | Contenu sponsorisé
| Sujet: Re: easy light | |
| |
| | | | easy light | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |