Hvordan slipper jeg for at tage fat i boundingbox?
Jeg har lavet et puslespil, men vil gerne undgå at man tager fat i brikkernes bounding box. Dvs. jeg vil kun tage fat i selve brikken!
Skal jeg bruge hit test i stedet for startdrag og stopdrag? Og hvordan er det lige man ville gøre det! hit test er ikke noget jeg har brugt særlig meget!!!
koden er : on (press) { if (done != true) { this.startDrag(); } else { success--; } } on (release) { this.stopDrag(); if (eval(this._droptarget) == eval "_root."+this._name+"Target")) { this._x = eval(this._droptarget)._x; this._y = eval(this._droptarget)._y; done = true; //trace(done); _root.success++; } if (_root.success == _root.n) { _root.gotoAndPlay(4)} }
onPress er begrænset til brikkens grafiske udseende - hitTest vil ikke give større præcision end onPress events. Muligvis grafikken i brikken rent fysisk er større end det synlige område? For eksempel vil gennemsigtige dele af en PNG stadig hitTeste og dermed være knap.
Istedet kan du inden i hvert enkelt movieclip lave et movieclip med grafikken i den rigtige form og give det instance navnet hitArea - så vil det automatisk blive skjult og fungere som dit movieclips hitarea.
En sidste ting er, at _droptarget er noget gammelt Flash 4 rod og ikke rigtig til at stole på. Brug istedet hittest:
tak for hjælpen, jeg har været lidt væk fra det og har derfor ikke lige fået testet!
Hvis jeg laver et et moviclip i movieclippet som du siger, vil det så ikke bare være spild af tid? Det nye movieclip vil vel have samme "problem" når det ligger i det gamle, som jeg har haft tidligere?
Måske ville det hjælpe hvis jeg lavede brikkerne om til vektorgrafik?
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.