property pSpeed, stagewidth, mySprite on beginSprite me set mySprite to the spritenum of me pSpeed = 10 set stagewidth to the width of the rect of the stage end
on exitframe me sprite(me.spritenum).locH = sprite(me.spritenum).locH + pSpeed if sprite(me.spritenum).locH > 800 Then sprite(me.spritenum).locH = -170 end if if sprite(me.spritenum).locH > 0 and the locH of sprite mySprite < stagewidth then sendsprite(2,#shoot) end if end
---------------Slut---------------
hvordan får jeg flyet til at smide en pakke random, altså med sendsprite(2,#shoot)istedet for on exitframe me ?
Et problem med at bruge random er at der er en mulighed for at der aldrig vil blive droppet noget eller omvendt at der bliver droppet hele tiden. Der i ligger tilfældigheden ligesom.
Derfor bliver man nød til for gameplayer's skyld, at kontrollere det lidt. Enten ved at lave en blandet liste af drop og ikke drop fx.: gRandomList = [0,0,0,0,1,1,1,1] gTempRandomList = duplicate(gRandomList) Begge er globale lister
Her kan du jo selv sætte fordelings forholdet af drop og ikke drop.
så kan du i en handler lave dette:
on should_I_drop me if gTempRandomList.count <= 0 then gTempRandomList = duplicate(gRandomList) end if randomNum = random(gTempRandomList.count) decission = gTempRandomList[randomNum] gTempRandomList.deleteAt(randomNum) return decission end Det jeg gør at først sikre mig at der er flere items i liste og hvis ikke starte forfra. Derefter tager jeg en tilfældig fra listen med en random af listen størrelse Så sletter jeg den for ikke at vælge den igen.
En anden mulighed er at ihvertilfælde hver 100 gang at droppe og elleras lave en procent vis mulighed for drop:
on should_I_drop me pCounter = pCounter +1
if pCounter >= 100 then pCounter = 0 return true end if if random(1, 100) > 40 then return true end if return false end
Med begge kan du istedet for :
if sprite(me.spritenum).locH > 0 and the locH of sprite mySprite < stagewidth then sendsprite(2,#shoot) end if
kalde
if should_I_drop(me) then sendsprite(2,#shoot) end if
Jamen, det er helt perfekt. Takker endnu engang :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.