Avatar billede rnomis Nybegynder
08. december 2004 - 18:42 Der er 2 kommentarer og
1 løsning

flash spil, hittest eller andre funktioner!?

Hej!
Jeg er ved at lave et puslespil i flash. Jeg ville gerne gøre nogle forskellige ting:
1. at brikkerne fik en slags lock effekt. Så når de næsten var placeret rigtigt skal man ikk bruge timer med musen for at den låser!
2. Når en brik blev placeret rigtigt ville den ikke kunne rykkes med igen.

Mine brikker er movieclips og jeg bruger dette script til at flyttet dem:
_root.brik1.onPress = function() {
    this.startDrag(true);
};
_root.brik1.onRelease = function() {
    this.stopDrag(true);
};
og det ligger i en frame for sig.
Når nu jeg bruger true for at musen lægger sig i midten af klippet tænkte jeg på om jeg kan lave nogle tomme movieclips og bruge dem til at ramme efter? Hvordan undgår man at en brik "låser" sig på den forkerte plads?

Jeg håber der er nogle der kan hjælpe mig! Og tak for det ellers!
Avatar billede baitianlong Nybegynder
08. december 2004 - 19:30 #1
Jeg vil tro noget i denne stil kan fikse det :)

_root.brik1.onPress = function() {
    if(!locked) {   
        this.startDrag(true);
        dragging = true;
    }
};
_root.brik1.onRelease = function() {
    this.stopDrag(true);
    dragging = false;
};
_root.brik1.onEnterFrame = function() {
  maalx = 120; maaly = 340; // Eksempel
  if(Math.abs(_x - maalx) < 5 && Math.abs(_y - maaly) < 5 && dragging) {
      _x = maalx; _y = maaly;
      stopDrag();
      locked = true;
  }
};

Så låser den på de koordinater, hvis afstanden er under 5/5
Avatar billede baitianlong Nybegynder
09. december 2004 - 18:26 #2
Der skal lige "this" på:

_root.brik1.onPress = function() {
    if(!locked) {   
        this.startDrag(true);
        dragging = true;
    }
};
_root.brik1.onRelease = function() {
    this.stopDrag(true);
    dragging = false;
};
_root.brik1.onEnterFrame = function() {
  maalx = 120; maaly = 340; // Eksempel
  trace(this._x+", "+this._y);
  if(Math.abs(this._x - maalx) < 5 && Math.abs(this._y - maaly) < 5 && dragging) {
      this._x = maalx; this._y = maaly;
      stopDrag();
      locked = true;
  }
};

:)
Avatar billede rnomis Nybegynder
11. december 2004 - 10:45 #3
tak for det!
Jeg tror ik jeg forstår hvorfor den der dragging skal ind når nu der er start og stop drag, men det virker jo så det er cool!
Tak for hjælpen!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester