si dentro de un script, uso algo como esto:
[gml]with(argument0){
if other.argument1 != undefined{
with(instance_create(x,y,sprite_effect)){
sprite_index = other.argument1
}
}
instance_destroy()
}[/gml]
tendria que usar other. para conseguir el argumento?
Para (la instancia indicada)
{
si la otra instancia indicado está definido
{
para (una nueva instancia creada)
{
su sprite será una instancia indicada
}
}
Destruir la instancia
}
Esto es lo que hará el objeto que se indique en el argumento cero del presente script, preguntará si el otro objeto que ha colisionado con el tiene un arguneto1 bien definido y de ser así creará una instancia cuyo sprite será el ya definido.
Nunca he creado una instancia dentro de un with.
Voy denuevo... haber de que se trata.
Suponiendo que lo que se quiere es crear una instancia con un sprite igual al objeto con el cual se ha colisionado.
Suponiendo que un objeto A viaja en línea recta y colisiona con un objeto B y el A crea un objeto C con sprite igual al del B.
with (argument0)
{
nnn=instance_create(x,y,0)
nnn.sprite_index=other.sprite_index
}
Suponiendo ahora que el objeto other debe definirse para indicar que el Objeto A debe crear el objeto C solo cuando colisione con objetos de tipo B
with (argument0)
{
idx=argument1.id
nnn=instance_create(x,y,0)
nnn.sprite_index=idx.sprite_index
instance_destroy()
}
Ok estoy tratando de entender.
Vuelvo a comenzar de cero.
Un fotón con polarización A viaja a través de un acelerador de articulas y colisiona con un fotón de polarización B y produce otra partícula C (boson de higgs) de polarización B destruyendo por completo solo a la partícula de polarización A.
¿porqué crear otra particula?, ¿no será mejor transformar el sprite de la particula A en el sprite de la particula B?
with(argument0)
{
sprite_index=argument1.sprite_index
}
o quizas
with(argument0)
{
idx=argument1.id
sprite_index=idx.sprite_index
}
Nosé realmente lo que se intenta hacer, tampoco sé si el código está bueno solo sé que veo dos particulas colisionar o algo así. Es como la colision de particulas en harry pother y las del colisionador de particulas.
harry potter vs voldemort
(http://imgfz.com/i/pEfHbMD.jpeg)
Disculpá por no explicar la funcion: del script; simplemente lo uso para destruir uno/unos objetos y crear un objeto que obtiene el sprite que le coloco como un argumento desde donde lo llame, que desaparece al terminar su animacion. aunque creo que malentendiste un poco la pregunta, yo solo queria saber que, si queria conseguir el valor de un argumento del script desde dentro del with tenia que usar other. , nada mas.
:-[ Disculpa las molestias
Si el argumento está definido, solo tienes que utilizarlo. No va el other. Quedaría así.
with(argument0){
if other.argument1 != undefined{
with(instance_create(x,y,sprite_effect)){
sprite_index =argument1
}
}
instance_destroy()
}
Lo que intentaba explicar es que no necesitas usar dos with porque el ultimo puede ser reemplazado por "nnn=" así
nnn=instance_create(x,y,sprite_effects)
nnn.sprite_index=argument1