Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-12-2003, 13:03   #1 (permalink)
Todesteddy
 
Benutzerbild von Moblin
 
Registriert seit: Sep 2003
Ort: Schweiz
Beiträge: 107
Fehler?

Also ich hab mich nach dem ersten Schlag wieder an AS rangewagt und lese nun "Flash 5 - ActionScript professionell" von Carlo Blatz und Gerald Marischka. Isn ziemlich gutes Buch, ich bin gleich zur Spieleprogrammierung übergegangen und hab mirm ersten Beispiel angefangen, nen Art Breakout Klon. Nun, der Balken, den man horizontal bewegen kann sollte sich dem Beispielscript nach so bewegen, dass wenn er ausm Bild rausfährt an der gegenüberliegenden Seite wiederkommt. Das passiert aber nur bei der Linken Seite. Wenn man ihn rechts ausm Bild bewegt fährt er unendlich weiter. Script sieht so aus:


onClipEvent (enterFrame) {
if (Key.isDown(Key.LEFT)) {
this._x -= speed;
}
if (Key.isDown(Key.RIGHT)) {
this._x += speed;
}
if (this._x>550) {
this._x +0;
}
if (this._x<0) {
this._x += 550;
}
}


Wassis falsch? Ich seh den Fehler nicht.

Optimal wärs natürlich, wenn der Balken an der Seite anstossen würde und man ihn dann nicht mehr weiter in die Richtung bewegen könnte. Aber das wird sicher noch erklärt dann.
__________________
-gallery-
Moblin ist offline   Mit Zitat antworten
Alt 09-12-2003, 13:11   #2 (permalink)
.--. .. ..- ...
 
Benutzerbild von pius
 
Registriert seit: Jul 2002
Ort: munich
Beiträge: 1.345
ActionScript:
  1. if (this._x>550) {
  2. this._x = 0;
  3. }
__________________
one out of many
pius ist offline   Mit Zitat antworten
Alt 09-12-2003, 13:18   #3 (permalink)
Todesteddy
 
Benutzerbild von Moblin
 
Registriert seit: Sep 2003
Ort: Schweiz
Beiträge: 107
__________________
-gallery-
Moblin ist offline   Mit Zitat antworten
Alt 10-12-2003, 10:45   #4 (permalink)
Todesteddy
 
Benutzerbild von Moblin
 
Registriert seit: Sep 2003
Ort: Schweiz
Beiträge: 107
So, ich bin schon wieder ne Runde weiter. Sieht auch ganz ordentlich aus bis jetzt, nur...

http://sir.bittransfer.de/twiki-worm...ut_backup.html

Der Ball prallt schön ab vom toten Weihnachtsmann, aber wenn der Ball ein wenig seitlich in ihn reinfliegt, dann gibts nen komischen Fehler.
Ich hab auch schon mal ne Kollisionsfläche rund um den Nikolaus herumgezogen, denn logischerweise müsste dann ja der Ball immer in eine Logische Richtung fliegen, egal wohin er prallt.

Aber das funzt nich, was tun?
__________________
-gallery-
Moblin ist offline   Mit Zitat antworten
Alt 10-12-2003, 10:54   #5 (permalink)
.--. .. ..- ...
 
Benutzerbild von pius
 
Registriert seit: Jul 2002
Ort: munich
Beiträge: 1.345
der betrag um den er nach kollision abprallt ist zu klein ... er bleibt also weiterhin auf der kollisionsfläche, ändert erneut die richtung ... zappelt hinundher und verlässt den nikolaus entweder nach oben oder unten ...

... du könntest einfach nach kollision den reflektierten y-wert einmalig vergrössern ...
__________________
one out of many
pius ist offline   Mit Zitat antworten
Alt 10-12-2003, 11:36   #6 (permalink)
Todesteddy
 
Benutzerbild von Moblin
 
Registriert seit: Sep 2003
Ort: Schweiz
Beiträge: 107
Hmm.


Also, die Änderung beim Ball vornehemn, nicht beim Nikolaus, oder?
Das hat vorher so ausgesehen:

onClipEvent (load) {
this._x = random(221)+80;
this._y = random(101)+50;
}
onClipEvent (enterFrame) {
this._x += bx_speed;
this._y += by_speed;
if (this.hitTest(_root.bar.hit)) {
by_speed = -by_speed;
}
if (this._x<1 || this._x>569) {
bx_speed = -bx_speed;
}
if (this._y<1) {
by_speed = -by_speed;
}
if (this._y>413) {
this.nextFrame();
}
}



(So stehts jedenfalls im Buch als Beispiel. Ich hab halt einfach meine Masse eingesetzt.)

Also so sah es vorher aus. Jetzt hab ich

if (this._y>413) {
this.nextFrame();
}


zu

if (this._y>500) {
this.nextFrame();
}


Wie du gesagt hast hab ich den Üpsilon Wert einmalig erhöht. Aber s' ist immernoch der gleiche Fehler da.
Ich hab wahrscheinlich den Falschen Wert am Falschen Ort eingetippt, was?
__________________
-gallery-
Moblin ist offline   Mit Zitat antworten
Alt 10-12-2003, 11:40   #7 (permalink)
.--. .. ..- ...
 
Benutzerbild von pius
 
Registriert seit: Jul 2002
Ort: munich
Beiträge: 1.345
ich meinte natürlich diese 'Üpsilon'

ActionScript:
  1. this._y += by_speed;

das du einmalig bei hit am nikolausi erhöhen solltest ....
__________________
one out of many
pius ist offline   Mit Zitat antworten
Alt 10-12-2003, 15:03   #8 (permalink)
Todesteddy
 
Benutzerbild von Moblin
 
Registriert seit: Sep 2003
Ort: Schweiz
Beiträge: 107
*rhargh*

Jetzt habe ich noch einen zweiten Balken gemacht, der ein wenig einfacher ist von wegen der Kollisionsfläche. Sie ist nicht rund, wie der Rücken des Nikolauses auf dem ersten Balken, sondern der Nikolaus hängt am Balken, das heisst, die Fläche auf der der Ball apprallen soll ist topfeben bis auf die Hände des Nikolauses, der sich festhält.

Und jetzt kann ich mich nicht entscheiden welchen ich nehmen soll. Der eine sieht besser aus, der andere ist einfach zum programmieren.


Eigentlich sind ja beide einfach zum proggen und sehn cool aus

Naja jedenfalls haben wir hier zurzeit einige Probleme mitn Server, mich wundert dass ich überhaupt noch ins Flashforum kann, denn ich komm auf keine andere Seite mehr. Ergo kann ich nix mehr uploaden, es dir zeigen.
Noch dazu kommt, dass ich auf zwei Macs gleichzeitig arbeit. Mitm einen komm ich nicht mehr ins Inet seit kurzem, dafür mach ich da Flash MX, mitm anderen kann ich nicht am Flash arbeiten, komme dafür ins Inet. Pff, seit kurzem komm ich überhaupt nicht mehr ins www, mit beiden nicht. Das nervt

Ist doch ein Kreuz

Will sagen, ich werd erst morgen wieder posten, wenn der Server wieder intakt ist.




*EDIT*

Ich weiss immer noch nicht, was du damit meinst.
Wo soll ich jetzt was reineditieren?
Beim Nikolaus hab ich keine y's. Nur x's. Also kannst du nicht den meinen Was dann? Den Ball scheints auch nicht.
Was dann? Ich hab sonst nix, was gescriptet sein muss.


Vergib mir meine Newbigkeit...
__________________
-gallery-

Geändert von Moblin (10-12-2003 um 15:21 Uhr)
Moblin 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 09:50 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele