Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-03-2006, 23:55   #1 (permalink)
Achim Math.PI
 
Benutzerbild von bloba
 
Registriert seit: Jul 2001
Ort: cool Colonia
Beiträge: 11.642
[logik frage] denkanstoss beim scrolling

hi ich hab auch mal eine frage und brauche mal einen kleinen denkanstoss
es geht um folgendes
der scroller funtzt mit gleichbleibender geschwindigkeit 1a nur wenn ich den speed verdoppele wird der abstand zerschossen - klar ich dachte mir wenn ich den speed verdopple muss ich den abstand anpassen - klappt nicht, da ich nie genau wie wie lang gedrückt wurde..

sicher eine leichte sache - nur ich komm nicht drauf ....
PHP-Code:
var tl this;
var 
anz 10;
var 
pInit 0;
var 
size 50;
var 
totallimit anz*size;
var 
steps 4;
var 
abst 10;
MovieClip.prototype.mover = function() {
    
this.onEnterFrame = function() {
        
trace(abst);
        
this._y -= steps;
        if (
this._y<=size*-1) {
            
this._y totallimit-size+anz*abst;
        }
    };
};
function 
getItems() {
    for (var 
0i<anzi++) {
        
tl.attachMovie("clip""mc"+ii);
        
tl["mc"+i].num.text i;
        
tl["mc"+i]._y = (abst+size)*i;
    }
    
gogo();
}
function 
gogo() {
    for (var 
0i<anzi++) {
        
tl["mc"+i].mover();
    }
}
function 
onMouseDown() {
    
steps 8;
}
function 
onMouseUp() {
    
steps 4;
}
getItems(); 
__________________
gruß bloba

2 x onkel² b_d
bloba ist offline   Mit Zitat antworten
Alt 10-03-2006, 02:11   #2 (permalink)
notzucht
 
Benutzerbild von shorty
 
Registriert seit: Nov 2003
Ort: Potsdam
Beiträge: 2.939
muha, bloba - ich schäm mich so, hätt ich's doch fast wieder vergessen ... sorry

ich hoffe, ich hab dich richtig verstanden, denn deine erklärung trägt nicht unbedingt dazu bei
PHP-Code:
//  geschwindigkeit
var v:Number 1;

//  max, maximale anzahl der clips
var m:Number 10

//  space, abstand der clips
var s:Number 30;

//  interval, nix fummlon du hieros
var i:Number null;

//  target, 
var t:MovieClip null;

//  array, enthaelt referenzen auf die clips
var a:Array = new Array ();

function 
move () : Void
{
    var 
b:Object = {x:0y:0};
    
a[0].localToGlobal (b);
    
b.< -50 ? (a[0]._y a[a.length 1]._y sa.push (a.shift ())) : null;
    
t._y -= v;
    
updateAfterEvent ();
}

function 
create (target:MovieClip) : Void
{
    var 
container:MovieClip target.createEmptyMovieClip ('container'1);
    
container._x 10
    container
._y 10
    
for (var n:Number 0mn++)
    {
        var 
item:MovieClip container.attachMovie ('clip''item' nn);
        
item.label.text n
        item
._y n;
        
a.push (item);
    }
    
container;
    
setInterval (move10);
}

function 
onMouseDown ()
{
    
4;
}

function 
onMouseUp ()
{
    
1;
}

create (_level0); 
hab das etwas umgemodelt, weil mir bei deiner aktuellen version viel zu viele oef's am start waren (pro attach ein oef). jetzt hast du nur ein interval (weil flüssiger), und das bewegt nur den container in den ich die clips gewurfen habe ...

{btw} blob, guck mal in meine signatur: Slider - funktionsprinzip ist das gleiche, nur horizontal

{edit} den: >> telefon ela != telenovela << ° lach ° hast aber gut in deiner signatur versteckt, für mich jedenfalls, weil total farbenblind
Angehängte Dateien
Dateityp: zip bloba.zip (5,9 KB, 10x aufgerufen)
__________________
.
Flex in a week | Viertel vor halb nach Vollmond | ^^°.°^^ | Waltz with Bashir
.

Geändert von shorty (10-03-2006 um 02:42 Uhr)
shorty ist offline   Mit Zitat antworten
Alt 10-03-2006, 02:42   #3 (permalink)
Banned
 
Benutzerbild von _level0
 
Registriert seit: Jan 2006
Beiträge: 849
@bloba:

PHP-Code:
function getItems() {
    for (var 
0i<anzi++) {
        
tl.attachMovie("clip""mc"+ii);
        
tl["mc"+i].num.text i;
        
tl["mc"+i]._y = (abst+size)*i;//wenn i == 0 ergebniss = 1 das ist ungenau!!!
    

PHP-Code:
        if (this._y<=size*-1) {//wenn "dieses"  _y == 50*-1 also == -50
            
this._y totallimit-size+anz*abst;// (50*10)-50+10*10 ALSO == 550????
        

ausserdem versteh ich irgendwie dein problem nicht... wenn du bei mover ein richtige abfrage stellst wo sich der mc befindet und die min und max werte für _y angibst kanns dr doch schnurz sein wie lange wer wann aqwarum gedrückt hat

@ shorty
Zitat:
item._y = s * n;//abstand mal anzahl?? was ist mit der grösse ?? die finde ich erst garnicht als var in deinem script..... wenn ich 20 mercedes mit nem abstand von 0 aufeinanderstaple hab ich dann nen stapekl von höhe 0?
b.y < -50 ? (a[0]._y = a[a.length - 1]._y + s, a.push (a.shift ())) : null;
b._y < -50 ? (a[0]._y = a[a.length - 1]._y + s, a.push (a.shift ())) : null;

^^ der rest der zeile iss mir gerad zu kompliziert


sorry wenn ich was falsch verstanden hab oder es nooch mehr zu wissen gibt aber ich versteh das problem ehrlich gesagt nicht...

die geschwinigkeit ändert sich automatisch... 2 abfragen für min und max werte

PHP-Code:
if (blablub._y <= blablub.height*-1-_level0.height){
blablub._y blablub.height*-1-_level0.height;//das mit dem level0 height nur wenn dein sichtbares fels so hoch ist wie die bühne
}
if (
blablub._y >= 0){
blablub._y 0

_level0 ist offline   Mit Zitat antworten
Alt 10-03-2006, 02:45   #4 (permalink)
notzucht
 
Benutzerbild von shorty
 
Registriert seit: Nov 2003
Ort: Potsdam
Beiträge: 2.939
stapelst du allerdings 20 mit abstand je 30 macht das, na, wieviel macht das wohl ...?
__________________
.
Flex in a week | Viertel vor halb nach Vollmond | ^^°.°^^ | Waltz with Bashir
.
shorty ist offline   Mit Zitat antworten
Alt 10-03-2006, 02:48   #5 (permalink)
Banned
 
Benutzerbild von _level0
 
Registriert seit: Jan 2006
Beiträge: 849
Zitat:
Zitat von shorty
stapelst du allerdings 20 mit abstand je 30 macht das, na, wieviel macht das wohl ...?
wenns 30 cm abstand sind ist das ein stapel von 6 metern...

wenn ich aber so nen merzedes auf der strasse sehe ist der alleine über nen meter hoch ergo wären 20 stück davon ohne abstand wie hoch als stappel???

richtig 20 meter für die autos und 6 meter für den abstand macht zusammen?

26 meter anstelle von 6

EDIT:

Ich wollte damit sagen.... deine mcs liegen bei ner höhe von 50 und nem abstand von 30 .... 20 pixel überlappend

Geändert von _level0 (10-03-2006 um 02:50 Uhr)
_level0 ist offline   Mit Zitat antworten
Alt 10-03-2006, 02:50   #6 (permalink)
notzucht
 
Benutzerbild von shorty
 
Registriert seit: Nov 2003
Ort: Potsdam
Beiträge: 2.939
du hast eindeutig langeweile ...

{edit} ik versteh dich genau>so<wenig wie blob, mir is jenug, ik hau mik ufs ohr! gn8 _level
__________________
.
Flex in a week | Viertel vor halb nach Vollmond | ^^°.°^^ | Waltz with Bashir
.

Geändert von shorty (10-03-2006 um 03:04 Uhr)
shorty ist offline   Mit Zitat antworten
Alt 10-03-2006, 03:10   #7 (permalink)
Banned
 
Benutzerbild von _level0
 
Registriert seit: Jan 2006
Beiträge: 849
Zitat:
Zitat von shorty
du hast eindeutig langeweile ...
nö nur recht

whatever... dann machts halt kompliziert und verkehrt...

ahja nochne frage...

PHP-Code:
 tl["mc"+i].mover(); 
instanziert das nicht einen onenterframe pro attachtem MC und ist somit nichtnur äusserst resourcen fressend sondern würde auch gleichzeitig 10 mal den abstand scrollen oder überschreiben sich die onenterframes jedesmal neu was nur ein unsinniges mehrfachers instazieren zur folge hätte @ bloba???

und direkt nochne blöde frage hinterher wenn ich den code richtig las, scrollt dein dingsda permanent von unten nach oben und nur bei gedrückter maustaste schneller???

warum dann der ganze komplizierte mit?

PHP-Code:
var tl this;
var 
anz 10;
var 
size 50;
var 
steps 4;
var 
abst 10;

for (var 
0i<anzi++) {
        
tl.attachMovie("clip""mc"+ii);
        
tl["mc"+i].num.text i;
        
tl["mc"+i]._y = (abst+size)*i;
if (
tl["mc"+i]._y == ){//um die ungenauigkeit beim ersten mc zu beseitigen
tl["mc"+i]._y 0;
}
}

function 
onMouseDown() {
    
steps 8;
}

function 
onMouseUp() {
    
steps 4;
}
  
this.onEnterFrame = function() {
this._y -= steps;
if (
tl._y <= (tl._height*-1)-tl._parent._height){
tl._y tl._height*-1-tl._parent._height;//evtl solltest du das noch anpassen je anchdem wie weit gescrollt werden sollte
}

was spricht dagegen

hatte oben übrigens die underscroes vor dem height attribut der mc´s vergessen//gabs die eigentlich bei flash 6 .. ich kann mich komischerweise immernur an height ohne underscore erinnern aber laut flash 8 hilfe sind diese bei mc´s vorhanden(bei stage komischerweise wiederum nicht.... ein teufelskreis)

Geändert von _level0 (10-03-2006 um 03:41 Uhr)
_level0 ist offline   Mit Zitat antworten
Alt 10-03-2006, 23:40   #8 (permalink)
Achim Math.PI
 
Benutzerbild von bloba
 
Registriert seit: Jul 2001
Ort: cool Colonia
Beiträge: 11.642
so dann erstmal besten dank an der regen beteilung
und besonders dir shorty, für den alternativ gedankenanstoss.

leider bin ich mit meinen versuch nicht weiter gekommen
werde mir aber mal deinen vorschlag zu gemüte führen
das mit dem interval oder enterframe ist sicherlich irgendwo eine glaubens frage, aber ich bekomme mit enterframe die smoothesten ergebnisse hin


...ich werd sicher was adaptieren können
__________________
gruß bloba

2 x onkel² b_d

Geändert von bloba (10-03-2006 um 23:41 Uhr)
bloba 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 18:59 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele