Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29-08-2003, 14:13   #1 (permalink)
tra..la..la..la..
 
Benutzerbild von knuddel_muddel
 
Registriert seit: Aug 2003
Ort: Knuddel Land
Beiträge: 180
Arrow Objekt stoppen

Wie kann ich ein Objekt stoppen wenn er durch die abfrage hitTest einen "verbotenen bereich" erreicht hat?
Angehängte Dateien
Dateityp: zip datei.zip (18,2 KB, 12x aufgerufen)
knuddel_muddel ist offline   Mit Zitat antworten
Alt 30-08-2003, 11:31   #2 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Ort: Aachen
Beiträge: 1.081
hi,

hab mir das ganze knuddelmuddel mal reingezogen.

Was du machen könntest wäre folgendes:

1) den Mc (blibliname : hitfl) auf der Bühne mit "strecke"
instanzieren.
2) auf diesen mc dann folgendes :
ActionScript:
  1. // Ursprünglich war hier :
  2.  
  3. //onClipEvent (enterFrame) {
  4. //  if (this.hitTest(_root.body._x, _root.body._y, true)) {
  5. //    _root.body._visible = 0;
  6. //  } else {
  7. //    _root.body._visible = 1;
  8. //  }
  9. //}
  10.  
  11. // neues script :
  12. onClipEvent(load) {
  13.     function checkme(xpos,ypos) {
  14.         if (this.hitTest(xpos,ypos,true)) {
  15.             return true
  16.         } else {
  17.             return false
  18.         }
  19.     }
  20. }

3) und auf den Mc body ( Spielfigur ) dann noch den onEnterFrame tag folgendermassen anpassen:
ActionScript:
  1. onClipEvent (enterFrame) {
  2.     //bewegung
  3.     mausx = _root._xmouse;
  4.     mausy = _root._ymouse;
  5.     objx = this._x;
  6.     objy = this._y;
  7.     difx = targetx-_x;
  8.     dify = targety-_y;
  9.     neux = _x + ( difx / delay )
  10.     neuy = _y + ( dify / delay )
  11.     if (!_root.strecke.checkme(neux,neuy)) {
  12.         // kein Treffer, neue Pos setzen
  13.         _x = neux
  14.         _y = neuy
  15.     } else {
  16.         trace (" TREFFER ! ")
  17.     }
  18. }

so. verstanden ?

Bevor also eine neue Position der Spielfigur gesetzt wird,
wird geprüft ob die Figur die strecke trifft.

Wenn ja wird die neue Pos nicht gesetzt.
Wenn nein, wird die neue Pos gesetzt.



hoffe das hilft weiter...
__________________
G.M. | working @ source lounge

Geändert von georgexp (30-08-2003 um 15:50 Uhr)
georgexp ist offline   Mit Zitat antworten
Alt 30-08-2003, 12:33   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Ort: Aachen
Beiträge: 1.081
Spielfigur in abhängigkeit von Winkel drehen :

1. Möglichkeit :

die folgenden 9 Zeilen ersetzen deine klomplete Winkelberechnung.
ActionScript:
  1. onClipEvent (mouseDown) {
  2.     //winkelberechnung
  3.     winkel_ab = 180+(Math.atan2(_y-_root._ymouse,_x-_root._xmouse)*360/2/Math.PI)
  4.     // Spielfigur drehen
  5.     if ( ( winkel_ab >= 337.5 ) || ( winkel_ab <= 22.5 ) ) { this.gotoAndStop(7) }
  6.     if ( ( winkel_ab >= 22.5  ) && ( winkel_ab <= 67.5 ) ) { this.gotoAndStop(8) }
  7.     if ( ( winkel_ab >= 67.5  ) && ( winkel_ab <= 112.5) ) { this.gotoAndStop(1) }
  8.     if ( ( winkel_ab >= 112.5 ) && ( winkel_ab <= 157.5) ) { this.gotoAndStop(2) }
  9.     if ( ( winkel_ab >= 157.5 ) && ( winkel_ab <= 202.5) ) { this.gotoAndStop(3) }
  10.     if ( ( winkel_ab >= 202.5 ) && ( winkel_ab <= 247.5) ) { this.gotoAndStop(4) }
  11.     if ( ( winkel_ab >= 247.5 ) && ( winkel_ab <= 292.5) ) { this.gotoAndStop(5) }
  12.     if ( ( winkel_ab >= 292.5 ) && ( winkel_ab <= 337.5) ) { this.gotoAndStop(6) }
  13.     //bewegung
  14.     //...
  15. }

2. Möglichkeit :

Hier müsstest du den Aufbau deiner Spielfigur folgendermassen ändern.

frame1 : bewegung nach OST
frame2 : bewegung nach SUED-OST
frame3 : SUED
frame4 : SUED-WEST
frame5 : WEST
frame6 : NORD-WEST
frame7 : NORD
frame8 : NORD-OST

dann brauchts du für die ganze Winkel geschichte nur noch 2 Zeilen :
ActionScript:
  1. winkel_ab = 180+(Math.atan2(_y-_root._ymouse,_x-_root._xmouse)*360/2/Math.PI)
  2. this.gotoAndStop((int((winkel_ab+22.5)/45))+1)

viel Spaß damit...
__________________
G.M. | working @ source lounge

Geändert von georgexp (30-08-2003 um 15:49 Uhr)
georgexp ist offline   Mit Zitat antworten
Alt 17-09-2003, 09:40   #4 (permalink)
tra..la..la..la..
 
Benutzerbild von knuddel_muddel
 
Registriert seit: Aug 2003
Ort: Knuddel Land
Beiträge: 180
OK

Super Danke!
knuddel_muddel ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 23:03 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele