Riapro questa discussione perchè non capisco come mai inserendo l 'alarm nel codice sopra che ho poi ampliato e migliorato, gamemaker mi da errore.
L alarm nel codice mi restituisce true a canCreate e quindi mi dovrebbe far ripartire il loop ogni tot secondi.
Se invece dell alarm metto direttamente canCreate = true nel step event il codice funziona ma non c'è una pausa tra la creazione di istanze.
FATAL ERROR in
action number 1
of Step Event0
for object CTRL:
Push :: Execution Error - Variable Get 100005.y(1, -1)
at gml_Object_CTRL_StepNormalEvent_1 (line 16) - case 4: instance_create(newInst.x,newInst.y-64,block); idleInst = instance_create(newInst.x,newInst.y-128,block) ; break
ecco il codice
Codice: Seleziona tutto
randomize()
if firstBlock {
firstBlock = false
newInst = instance_create(320,640,block)}
if canCreate{
canCreate = false
for (i=0;i<1;i++) {
direzione = choose(1,2,3,4)
switch direzione{
case 1: instance_create(newInst.x+64,newInst.y,block); idleInst[i] = instance_create(newInst.x+128,newInst.y,block) ; break
case 2: instance_create(newInst.x-64,newInst.y,block); idleInst[i] = instance_create(newInst.x-128,newInst.y,block) ; break
case 3: instance_create(newInst.x,newInst.y+64,block); idleInst[i] = instance_create(newInst.x,newInst.y+128,block) ; break
case 4: instance_create(newInst.x,newInst.y-64,block); idleInst[i] = instance_create(newInst.x,newInst.y-128,block) ; break
}
if (idleInst[i].x > 576) || (idleInst[i].y > 896) || (idleInst[i].x < 64) || (idleInst[i].y < 64){
with (idleInst[i]) { instance_destroy() }
test0 = false
//canCreate = true
alarm[0] = 15
} else test0 = true
if test0 {
test0 = false
newInst = idleInst[i]
//canCreate = true // se invece metto true a canCreate senza passare per l'alarm il codice funziona
alarm[0] = 15// mentre con l'alarm non funziona
}
}
}