Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-08-2005, 16:47   #1 (permalink)
... zaubern, das wärs !
 
Benutzerbild von d-signs
 
Registriert seit: Sep 2003
Ort: switzerland
Beiträge: 416
y bewegen und abbremsen

hallo freunde,

habe folgendes vorhaben...gerne möchte ich sowas verwenden um einen mc immer wieder um _y.+50 zu verschieben bis ich an eine gewisse grenze stosse.
und vorallem würde ich gerne den abbrems effekt implementieren.

ActionScript:
  1. // einmal definieren
  2. btn.onRelease = function() {
  3. flugobjekt.doMove(250, 30, 5);
  4. }
  5.  
  6. MovieClip.prototype.doMove = function(targetX, targetY, delay) {
  7.     if (this._x != targetX || this._y != targetY) {
  8.         this.onEnterFrame = function() {
  9.             var difX =  - this._x + targetX;
  10.             var difY =  - this._y + targetY;
  11.             if (Math.round(Math.abs(difX)) > 0 || Math.round(Math.abs(difY)) > 0) {
  12.                 this._x += difX / delay;
  13.                 this._y += difY / delay;
  14.             } else {
  15.                 this._x = targetX;
  16.                 this._y = targetY;
  17.                 delete this.onEnterFrame;
  18.             }
  19.         };
  20.     }
  21. };

sowas in der art...könnt ihr mir helfen was ich da anpassen muss ?

gruss d-signs
__________________
d-signs - switzerland

freie Bilddatenbank: Klick
d-signs ist offline   Mit Zitat antworten
Alt 25-08-2005, 17:53   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo!
Sieht mit einem grünen MC in Froschform am Besten aus
ActionScript:
  1. function frogger(mc, zielY, steps) {
  2.     var x = 0;
  3.     var dist = zielY/steps;
  4.     var dist1 = dist;
  5.     mc.onEnterFrame = function() {
  6.         this._y = Math.ceil(this._y+(dist1-this._y)/2);
  7.         if (this._y>=dist1 && ++x<steps) {
  8.             dist1 += dist;
  9.         } else if (x == steps) {
  10.             trace(this._y);
  11.             delete this.onEnterFrame;
  12.         }
  13.     };
  14. }
  15. frogger(deinMC, 250, 5);
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 25-08-2005, 19:12   #3 (permalink)
... zaubern, das wärs !
 
Benutzerbild von d-signs
 
Registriert seit: Sep 2003
Ort: switzerland
Beiträge: 416
du hast recht - funktioniert gut !

was nun optimal wäre wenn jedes mal wenn ich klicke mit demselben effekt sich mein mc um +50 verschieben würde !?

machbar ?

d-signs
__________________
d-signs - switzerland

freie Bilddatenbank: Klick
d-signs ist offline   Mit Zitat antworten
Alt 25-08-2005, 19:51   #4 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
PHP-Code:
function frogger(mczielYsteps) {
        var 
0;
        var 
dist zielY/steps;
        var 
dist1 dist;
        
mc.onEnterFrame = function() {
                
this._y Math.ceil(this._y+(dist1-this._y)/2);
                if (
this._y>=dist1 && ++x<steps) {
                        
dist1 += dist;
                } else if (
== steps) {
                        
trace(this._y);
                        
delete this.onEnterFrame;
                }
        };
}
_root.onMouseDown=function()
{
    
frogger(deinMCdeinMC._y+505);

...quaaaak....
warrantmaster ist offline   Mit Zitat antworten
Alt 25-08-2005, 19:58   #5 (permalink)
... zaubern, das wärs !
 
Benutzerbild von d-signs
 
Registriert seit: Sep 2003
Ort: switzerland
Beiträge: 416
meine (frosch) helden...

thX
__________________
d-signs - switzerland

freie Bilddatenbank: Klick
d-signs ist offline   Mit Zitat antworten
Alt 26-08-2005, 08:31   #6 (permalink)
... zaubern, das wärs !
 
Benutzerbild von d-signs
 
Registriert seit: Sep 2003
Ort: switzerland
Beiträge: 416
okay eure lösungen (f)rocken ganz schön, nun warrentmaster, kann ich leider bei der y verschiebung leider nicht einfach einen -wert eingeben !?
ich möchte nämlich nicht nur mit einem button + 50, sondern mit dem anderen auch wieder zurück sliden....

sorry...

d-signs
__________________
d-signs - switzerland

freie Bilddatenbank: Klick
d-signs ist offline   Mit Zitat antworten
Alt 26-08-2005, 10:04   #7 (permalink)
... zaubern, das wärs !
 
Benutzerbild von d-signs
 
Registriert seit: Sep 2003
Ort: switzerland
Beiträge: 416
nun habe ich zum laufen gekriegt mit folgendem script:
ActionScript:
  1. function move(chart, zielY) {
  2.     var dist = zielY;
  3.     chart.onEnterFrame = function() {
  4.         this._y = this._y+(dist-this._y)/2;
  5.     };
  6. }
  7. btn_down.onRelease = function() {
  8.     move(chart, chart._y-90);
  9. };
  10. btn_up.onRelease = function() {
  11.     move(chart, chart._y+90);
  12. };
nun wenn ich nun den btn_down oder btn_up drücke bevor der mc sein ziel (+90) oder (-90) erreicht hat, stimmt am schluss die endposition nicht.
5x drücken sollte immer 450 pixeldifferenz geben, egal wann er drückt.
habt ihr da ne idee ?

gruss d-signs
__________________
d-signs - switzerland

freie Bilddatenbank: Klick
d-signs 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 14:11 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele