28. februar 2003 - 15:16Der er
5 kommentarer og 1 løsning
2 knapper over hinanden
Hej,
Mit problem er at jeg har lavet en knap, og når man trykker på denne bevæger den sig lidt nedad, og når man slipper knappen vender den tilbage til sin oprindelige sted. Problemet er bare at der er et billede som også skal følge ned når man klikker på knappen, og det ser ud til at det kun er lige præcis den gældende sprite der bevæger sig!
Kan man få begge sprites til at bevæge sig med et enkelt klik, eller kan man på nogen måde "binde" de 2 sprites sammen?
kode :
on mousedown set the loc of sprite (the currentspritenum) to point((sprite(the currentspritenum).locH + 2) (sprite(the currentspritenum).locv + 2)) end
on mouseup set the loc of sprite (the currentspritenum) to point(value(sprite(the currentspritenum).locH - 2) value(sprite(the currentspritenum).locv - 2)) end
det samme script er på begge knapper håber i kan hjælpe :)
on mousedown set the loc of sprite (1) to point((sprite(the currentspritenum).locH + 2) (sprite(1).locv + 2)) set the loc of sprite (2) to point((sprite(the currentspritenum).locH + 2) (sprite(2).locv + 2)) end
on mouseup set the loc of sprite (1) to point(value(sprite(the currentspritenum).locH - 2) value(sprite(1).locv - 2)) set the loc of sprite (2) to point(value(sprite(the currentspritenum).locH - 2) value(sprite(2).locv - 2)) end
så behøver du kun at smide scriptet på den øverste sprite. Indrømmet det er ikke særligt pænt lavet, men det virker..
on beginSprite me pDefLoc = sprite(me.spriteNum).loc pOffset = sprite(me.spriteNum).loc - sprite(me.spriteNum+1).loc end
on mouseDown me sprite(me.spriteNum).loc = sprite(me.spriteNum).loc +1 sprite(me.spriteNum+1).loc = sprite(me.spriteNum).loc -pOffset end
on mouseUp me sprite(me.spriteNum).loc = pDefLoc sprite(me.spriteNum+1).loc = sprite(me.spriteNum).loc -pOffset end ------------------ SCRIPT END----------------------------
Det er selvfølgelig dit valg, men unødvendig kode, det tror jeg nu ikke. 1. Min sørger bare for at du ikke skal ændre i scriptet, hvis du ændre billedet der er ovenpå. Billedet kan sidde hvor som helst. 2. det er overkill at tage en value værdi af et tal som der gøres i point(value(sprite(the currentspritenum).locH - 2) value(sprite(2).locv - 2)) 3. Jeg er overbevist om at der mangler en mouseUpOutside funktion i begge script. Prøv at trykke ned og fjern musen fra knappen og lav en mouseUp. Gør det et par gange og knappen vil bevæge sig ned ad. 4. I det andet script skal du ind og rette hvis du vælger at skifte sprite kanal da der er hardcoded med sprite 1 & 2. Jeg behøver ikke at få point'ne, men prøv dette script: ------------------ SCRIPT ----------------------------
property pDefLoc property pOffset
on beginSprite me pDefLoc = sprite(me.spriteNum).loc pOffset = sprite(me.spriteNum).loc - sprite(me.spriteNum+1).loc end
on mouseDown me sprite(me.spriteNum).loc = sprite(me.spriteNum).loc +1 sprite(me.spriteNum+1).loc = sprite(me.spriteNum).loc -pOffset end
on mouseUp me me.releaseMouse() end
on mouseUpOutside me me.releaseMouse() end
on releaseMouse me sprite(me.spriteNum).loc = pDefLoc sprite(me.spriteNum+1).loc = sprite(me.spriteNum).loc -pOffset end ------------------ SCRIPT END----------------------------
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.