Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: deathmetal en Enero 02, 2010, 07:18:43 AM

Título: nombre de sprite uniedo stringscon variables
Publicado por: deathmetal en Enero 02, 2010, 07:18:43 AM
pues lo que pasa es que en unscript dibujo  un sprite que especifico en uno de los argumentos y dentro del mismo script verifico el sprite que estoy especificando


pero tengo el personaje que puede tener dos tipos de ropas diferentes por lo que necesito dibujar( sin tener que poner if ropa=1... else ...) el sprite que corresponda

pense hacerlo de esta forma

string("chara")+string(ropa)+string("face")

pero me sale que no puede comparar argumentos y sin las comillas me sale que noencuentra la variable chara

no se si m puedan ayudar


ropa solo puede tomar valor 0 o 1
Título: Re: nombre de sprite uniedo stringscon variables
Publicado por: Texic en Enero 02, 2010, 07:47:00 AM
Hasta donde yo se no podes formar el nombre de un recurso mediante un string (si entendi lo que quer?as hacer, porque esta algo confuso), aunque ser?a bastante
interesante y util si alguien me demostrara una forma de hacerlo (La cual sigo creyendo, no existe).
Por cierto, "chara" y "face" ya son string, no necesitas ponerlo dentro de la funci?n, a?n asi no entiendo muy bien lo que tratas de hacer..

EDITO: Que pelo... Me acabo de dar cuenta de que lo que intentas hacer se puede. Tanto tiempo programando sin eso... Bueno, me abriste una nueva puerta xD
Ahora, tu error asi como lo pones no deber?a existir o no lo entiendo del todo =/
?? Se puede hacer tambien con el GM6??
Quizas es s?lo mala sint?xis y pusiste striing o algo asi  en alguna parte, suele pasar
Título: Re: nombre de sprite uniedo stringscon variables
Publicado por: Wadk en Enero 02, 2010, 07:50:42 AM
Pod?s, usando execute string:
execute_string("sprite_index=chara"+string(ropa)+"face;");
Y como dijo Texic, chara y face ya son strings al estar entre comillas, usar un string en la funci?n string() es in?til, adem?s de que se ve tonto :P.

EDIT: Casi me olvido, cuidad?n con la funci?n execute_string, es muy lenta. Usala solo cuando no tengas alternativa.
Título: Re: nombre de sprite uniedo stringscon variables
Publicado por: deathmetal en Enero 02, 2010, 03:12:22 PM
y solo es posible hacerlo de esa manera?? con el execute string? esque no lo uso en una sola parte si no cada que habla el persnaje o como hago para que uns tring seme reconozca como nombre de sprite


ya texic: peeero claaaro que puedes crear strings y asta variables de esa manera xDD jajaja no soy tan tonto como para inventarme algo tan fmado jaja saludos  gracias por el comentario de las strings dentro delas strings xD no me habia dado cuenta
Título: Re: nombre de sprite uniedo stringscon variables
Publicado por: Wadk en Enero 02, 2010, 10:25:34 PM
Tal vez con arrays.
Algo as?:
sprite[0]=chara0face;
sprite[1]=chara1face;

Y despu?s:
sprite_index=sprite[ropa];

Pero a menos que tengas muchos execute_codes juntos,  no creo que se note mucho. Por ejemplo, una vez yo us? al rededor de 20 en create de un objeto que se repet?a como 500 veces en cada room y el tiempo de carga era de unos 40 segundos (despu?s lo optimic? y el tiempo de carga baj? como a la mitad :P).
Título: Re: nombre de sprite uniedo stringscon variables
Publicado por: deathmetal en Enero 03, 2010, 06:41:17 AM
la cosa es que va dentro de un argumento asi:

msjscr("mensaje",sprite)

como seria entonces? si necesidad de poner if global.ropa=1{...}else{}