Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-01-2011, 14:56   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2011
Beiträge: 33
TextField von links nach rechts bewegen

ich will ein TextField langsam über den screen bewegen.
funkt auch:

for (var i:uint = 50; i<500; i++) {
//sleep(500);
buttonText1.x = i;
}

aber wie kann ich das verlangsamen?
hine ist offline   Mit Zitat antworten
Alt 09-01-2011, 15:03   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Was heißt denn "funkt auch"?
Kann doch gar nicht klappen, so wie du das gemacht hast...!?

Guck dir mal ENTER_FRAME an oder nimm einen Timer oder Intervall.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 09-01-2011, 15:15   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2011
Beiträge: 33
das funktioniert auch nicht:


for (var i:uint = 50; i<500; i++) {
stop();
pause = setInterval(function() {
play();
clearInterval(pause);
}, 5000);

buttonText1.x = i;
}
hine ist offline   Mit Zitat antworten
Alt 09-01-2011, 15:22   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Zitat:
Zitat von hine Beitrag anzeigen
das funktioniert auch nicht:


for (var i:uint = 50; i<500; i++) {
stop();
pause = setInterval(function() {
play();
clearInterval(pause);
}, 5000);

buttonText1.x = i;
}
Weil's auch Blödsinn und außerdem eine Mischung aus AS 1.0 und 3.0 ist.

So in die Richtung könnte das aussehen:
PHP-Code:
var i:uint=0;
buttonText1.addEventListener(Event.ENTER_FRAMEfunc);
function 
func(e:Event) {
    
e.target.i++;

__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 09-01-2011, 15:53   #5 (permalink)
Neuer User
 
Registriert seit: Jan 2011
Beiträge: 33
ich will ein TextField langsam über den screen bewegen. wozu denn ENTER_FRAME Event?
hine ist offline   Mit Zitat antworten
Alt 09-01-2011, 16:15   #6 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Zitat:
Zitat von hine Beitrag anzeigen
ich will ein TextField langsam über den screen bewegen. wozu denn ENTER_FRAME Event?

Ich würde an deiner Stelle auch auf gar keinen Fall vielleicht mal das Script ausprobieren oder versuchen es zu verstehen.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 09-01-2011, 16:34   #7 (permalink)
Neuer User
 
Registriert seit: Jan 2011
Beiträge: 33
Es funktioniert danke, aber wie kann ich die geschwindigkeit ändern?
hine ist offline   Mit Zitat antworten
Alt 09-01-2011, 16:37   #8 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
PHP-Code:
var speed:Number .3;
buttonText1.addEventListener(Event.ENTER_FRAMEfunc);
function 
func(e:Event):void {
    
DisplayObject(e.target).+= speed;

Zitat:
Zitat von Der Frager Beitrag anzeigen

Ich würde an deiner Stelle auch auf gar keinen Fall vielleicht mal das Script ausprobieren oder versuchen es zu verstehen.
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist offline   Mit Zitat antworten
Alt 14-01-2011, 08:49   #9 (permalink)
Neuer User
 
Registriert seit: Jan 2011
Beiträge: 33
sorry aber wenn ich .x auf diese art erhöhe überspringt er mehrere pixel. das schaut horror aus

ich bin beim timing auf events angewiesen, das finde ich nicht so toll. es sei denn man kann den interval erhöhen?
hine ist offline   Mit Zitat antworten
Alt 14-01-2011, 09:33   #10 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Zitat:
Zitat von hine Beitrag anzeigen
sorry aber wenn ich .x auf diese art erhöhe überspringt er mehrere pixel. das schaut horror aus
Welches Script verwendest Du denn grade?

Zitat:
Zitat von hine Beitrag anzeigen
ich bin beim timing auf events angewiesen, das finde ich nicht so toll.
Versteh ich nicht?! Alle asynchronen (=zeitbasierenden) Vorgänge werden in AS über Events geregelt.

Zitat:
Zitat von hine Beitrag anzeigen
es sei denn man kann den interval erhöhen?
Was meinst Du damit? Willst Du das es schrittweise springt, oder möchtest Du nur, dass es sich langsamer bewegt?

Letzteres kannst Du einstellen, indem Du einfach den Wert von speed veränderst...
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist offline   Mit Zitat antworten
Alt 14-01-2011, 09:49   #11 (permalink)
Neuer User
 
Registriert seit: Jan 2011
Beiträge: 33
PHP-Code:
            var speed:Number 4
            
buttonText1.addEventListener(Event.ENTER_FRAMEfunc);
            function 
func(e:Event) {
                
DisplayObject(e.target).+= speed
            } 
für ne saubere animation brauche ich 30fps. so oft wird func aber nicht aufgerufen. also bin so gezwungen eine schnellere horizontale bewegung über pixelsprünge zu machen (++4). sprich, es ruckelt.
hine ist offline   Mit Zitat antworten
Alt 14-01-2011, 10:23   #12 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Zitat:
Zitat von hine Beitrag anzeigen
für ne saubere animation brauche ich 30fps. so oft wird func aber nicht aufgerufen. also bin so gezwungen eine schnellere horizontale bewegung über pixelsprünge zu machen (++4). sprich, es ruckelt.
Das liegt aber dann weder am Script (Event.ENTER_FRAME wird genau entsprechend der FrameRate ausgeführt), noch an der Geschwindigkeit, sondern an dem was Du da bewegst!
  • Steht Dein Textfeld auf Antialiasing für Animation?
  • Sind die Schriften eingebettet?
  • Ist das Textfeld vielleicht einfach zu groß? Versuch's mal mit:
    PHP-Code:
    buttonText1.cacheAsBitmap true
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist offline   Mit Zitat antworten
Alt 14-01-2011, 10:58   #13 (permalink)
Neuer User
 
Registriert seit: Jan 2011
Beiträge: 33
das bringt nichts. der event wird nur alle 80ms getriggert. wie willst du damit ne saubere animation hinbekommen? ich brauche min 30ms.

geht sowas nicht?

PHP-Code:
            var speed:Number 1
            var 
myTimer:Timer = new Timer(30);
            
myTimer.start();
            
myTimer.addEventListener(TimerEvent.TIMERfunc);
            function 
func(e:TimerEvent):void {
                
DisplayObject(e.target).+= speed;
                
            } 
hine ist offline   Mit Zitat antworten
Alt 14-01-2011, 11:15   #14 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Das hat dann wie gesagt nichts mit diesem Script zutun, sondern mit dem was Du dem FlashPlayer sonst noch so abverlangst (durch andere Animationen, Grafiken, Filter, Halbtransparenzen usw.)

Wie misst Du denn die Geschwindigkeit? Permanente trace()s können nämlich eine .swf auch ausbremsen...

Lade die .swf mal irgendwo hoch, damit man sich diese mal ansehen kann und nicht ins Blaue hinein raten muss!
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist offline   Mit Zitat antworten
Alt 14-01-2011, 11:32   #15 (permalink)
Neuer User
 
Registriert seit: Jan 2011
Beiträge: 33
ich glaube kaum dass das 50ms ausmacht. ausserdem wird func zeitgesteuert aktiviert und nicht relativ zur cpu last.

PHP-Code:
package  {
    
    
import flash.display.MovieClip;
    
import flash.display.DisplayObject;
    
import flash.text;
    
import flash.display.Sprite;
    
import flash.text.*;
    
import flash.utils.Timer;
    
import flash.events.TimerEvent;
    
import flash.events.Event;

    public class 
main extends MovieClip {
        
        public function 
main() {
            
            var 
buttonText1:TextField = new TextField();
            var 
buttonTextFormat:TextFormat = new TextFormat;
            
buttonTextFormat.font "Arial";
            
buttonTextFormat.color 0x0;
            
buttonTextFormat.bold true;
            
buttonTextFormat.size 14;
            
buttonText1.50;
            
buttonText1.50;
            
buttonText1.height 100;
            
buttonText1.width 100;
            
buttonText1.selectable false
            
buttonText1.cacheAsBitmap true;  
            
buttonText1.text "xxx";

            
buttonText1.setTextFormat(buttonTextFormat);
            
addChild(buttonText1);

            var 
speed:Number 4
            
buttonText1.addEventListener(Event.ENTER_FRAMEfunc);
            function 
func(e:Event) {
                var 
now:Date = new Date();
                
trace(now.milliseconds);
                
DisplayObject(e.target).+= speed;
                
            }
        }
    }    

hine ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
bewegen, sleep, textfield, verlangsamen

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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
breites bild nach links und rechts bewegen daeniel Flash 4 und Flash 5 1 15-04-2005 09:04
MC nach links oder rechts bewegen bei Klick auf Button hubeldubel Flash MX 5 08-10-2003 09:19
hintergrund nach links / rechts bewegen knuddel_muddel ActionScript 1 11 03-09-2003 12:33
Ringe von links nach rechts & wieder nach links..... TravelZone50g Flash MX 9 28-01-2003 21:46
Bild endlos nach links und rechts bewegen cschumann Flash 4 und Flash 5 2 09-10-2002 16:36


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:34 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele