Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-09-2006, 05:08   #1 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
zur laufzeit erstelltes textfeld scrollen

aloha!
ich versuche gerade, ein full-as-dynamisches scrollgedingse zu basteln;
der code ist no net optimiert, kommt noch;
mein prob ist, dass ich alles zur laufzeit dynamisch erstelle, auch das textfeld;
die scrollformel für richtet sich immer nach textfeldhöhe;
da haperts...ich erstell ja nur einmal ein textfeld und muss ja eine höhe angeben;
wenn nu text reinkommt, sollte sich ja die höhe anpassen.....wie moch i des?
PHP-Code:
//++++++++++++++++++++++++++++++++++++++++++++++
var thisFilm:MovieClip this;
//+++++++++++++++++++++++++++++++++++++++++++++++++++text-movieclip
thisFilm.createEmptyMovieClip("textClip"10);
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++text
thisFilm.textClip.createTextField("T_text"100450285);
thisFilm.textClip.T_text.multiline true;
thisFilm.textClip.T_text.background true;
thisFilm.textClip.T_text.backgroundColor "0xD3C27C";
thisFilm.textClip.T_text.border true;
thisFilm.textClip.T_text.wordWrap true;
thisFilm.textClip.T_text.html true;
thisFilm.textClip.T_text.mouseWheelEnabled true;
thisFilm.textClip.T_text.selectable true;
thisFilm.textClip.T_text.borderColor "0xFFFFFF";
var 
myTextFormat:TextFormat = new TextFormat();
myTextFormat.align left;
myTextFormat.font "Verdana";
myTextFormat.leading 2;
myTextFormat.size 11;
//myTextFormat.blockIndent = 3;
//thisFilm.textClip.T_text.setTextFormat(myTextFormat);
//++++++++++++++++++++++++++++++++++++++++++++++maske
thisFilm.createEmptyMovieClip("mask_mc"20);
with (thisFilm.mask_mc) {
    
lineStyle(10x999999100);
    
beginFill(0x999999100);
    
moveTo(00);
    
lineTo(4700);
    
lineTo(470286);
    
lineTo(0286);
    
lineTo(00);
}
thisFilm.textClip.setMask(thisFilm.mask_mc);
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++scrolling arrows
thisFilm.textClip.createEmptyMovieClip("MC_up"2);
thisFilm.textClip.MC_up._x thisFilm.textClip._x+thisFilm.textClip._width+4;
thisFilm.textClip.MC_up._y thisFilm.textClip._y;
with (thisFilm.textClip.MC_up) {
    
lineStyle(10xFFFFFF100);
    
beginFill(0xD3C27C100);
    
moveTo(50);
    
lineTo(50);
    
lineTo(1010);
    
lineTo(010);
    
lineTo(50);
}
thisFilm.textClip.MC_up.duplicateMovieClip("MC_down"3);
thisFilm.textClip.MC_down._y thisFilm.textClip._y+thisFilm.mask_mc._height;
thisFilm.textClip.MC_down._yscale *= -1;
thisFilm.textClip.MC_up._alpha thisFilm.textClip.MC_down._alpha=0;
//+++++++++++++++++++++++++++++++++++++scroller bgnd
thisFilm.createEmptyMovieClip("bgnd"25);
with (thisFilm.bgnd) {
    
lineStyle(10x6200000);
    
beginFill(0x6200000);
    
moveTo(thisFilm.textClip._x+thisFilm.textClip._width-10thisFilm.textClip._y+16);
    
lineTo(thisFilm.textClip._x+thisFilm.textClip._width-10+6thisFilm.textClip._y+16);
    
lineTo(thisFilm.textClip._x+thisFilm.textClip._width-10+6thisFilm.textClip._y+20+16);
    
lineTo(thisFilm.textClip._x+thisFilm.textClip._width-10thisFilm.textClip._y+20+16);
    
lineTo(thisFilm.textClip._x+thisFilm.textClip._width-10thisFilm.textClip._y+16);
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++scrollbar
thisFilm.createEmptyMovieClip("scrollbar_mc"30);
with (thisFilm.scrollbar_mc) {
    
lineStyle(10xFFFFFF100);
    
beginFill(0xD3C27C100);
    
moveTo(thisFilm.textClip._x+thisFilm.textClip._width-10thisFilm.textClip._y+16);
    
lineTo(thisFilm.textClip._x+thisFilm.textClip._width-10+6thisFilm.textClip._y+16);
    
lineTo(thisFilm.textClip._x+thisFilm.textClip._width-10+6thisFilm.textClip._y+20+16);
    
lineTo(thisFilm.textClip._x+thisFilm.textClip._width-10thisFilm.textClip._y+20+16);
    
lineTo(thisFilm.textClip._x+thisFilm.textClip._width-10thisFilm.textClip._y+16);
}
//thisFilm.scrollbar_mc._visible = false;
var sliding false;
function 
init(hcm) {
    
thisFilm.bgnd._height Math.round(h-(thisFilm.textClip.MC_up._height*2));
    
this.ct c;
    
this.mask m;
    
startWatch();
}
function 
startWatch() {
    
thisFilm.scrollbar_mc.useHandCursor false;
    
thisFilm.scrollbar_mc.onPress = function() {
        
this.startDrag(false000bgnd._height-this._height);
        
sliding true;
    };
    
thisFilm.scrollbar_mc.onRelease = function() {
        
this.stopDrag();
        
sliding false;
    };
    
thisFilm.scrollbar_mc.onReleaseOutside = function() {
        
this.stopDrag();
        
sliding false;
    };
    
thisFilm.textClip.MC_up.onRollOver = function() {
        
startMove(-1);
    };
    
thisFilm.textClip.MC_up.onRollOut = function() {
        
stopMove();
    };
    
thisFilm.textClip.MC_up.onPress = function() {
        
startMove(-1);
    };
    
thisFilm.textClip.MC_up.onRelease = function() {
        
stopMove();
    };
    
thisFilm.textClip.MC_up.onReleaseOutside = function() {
        
stopMove();
    };
    
thisFilm.textClip.MC_down.useHandCursor false;
    
thisFilm.textClip.MC_down.onRollOver = function() {
        
startMove(1);
    };
    
thisFilm.textClip.MC_down.onRollOut = function() {
        
stopMove();
    };
    
thisFilm.textClip.MC_down.onPress = function() {
        
startMove(1);
    };
    
thisFilm.textClip.MC_down.onRelease = function() {
        
stopMove();
    };
    
thisFilm.textClip.MC_down.onReleaseOutside = function() {
        
stopMove();
    };
    
_global.checker setInterval(function () {
        
getPos();
        
//reDraw();
    
}, 50);
}
function 
startMove(d) {
    if (
speed == undefined) {
        
speed 2;
    }
    
sliding true;
    
thisFilm.bgnd.onEnterFrame = function() {
        
thisFilm.scrollbar_mc._y += (d*speed);
        if (
thisFilm.scrollbar_mc._y<0) {
            
thisFilm.scrollbar_mc._y 0;
        }
        if (
thisFilm.scrollbar_mc._y>bgnd._height-thisFilm.scrollbar_mc._height) {
            
thisFilm.scrollbar_mc._y bgnd._height-thisFilm.scrollbar_mc._height;
        }
    };
}
function 
stopMove() {
    
sliding false;
    
delete thisFilm.bgnd.onEnterFrame;
}
function 
getPos() {
    
//trace(ct._height+"\n\n\n"+mask._height);
    
if (sliding) {
        var 
smax thisFilm.bgnd._height-thisFilm.scrollbar_mc._height;
        var 
scur thisFilm.scrollbar_mc._y;
        var 
percent scur*100/smax;
        var 
ab_pos percent*(ct._height-mask._height)/100;
        
trace(ct._height+"\n\n\n"+mask._height);
        
ct._y = -ab_pos;
        
//mask._parent.setScroll(ab_pos);
    
}
}
function 
reDraw() {
    var 
ratio ct._height/mask._height;
    
thisFilm.scrollbar_mc._height Math.round(bgnd._height/ratio);
    if (
thisFilm.scrollbar_mc._height<bgnd._height) {
        
this._visible true;
    } else {
        
this._visible false;
    }
}
//++++++++++++++++++++++init
thisFilm.onEnterFrame = function() {
    
init(285thisFilm.textClipthisFilm.mask_mc);
    
delete this.onEnterFrame;
};
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++wabber
thisFilm.textClip._yscale 0;
var 
newsText = new LoadVars();
thisFilm.textClip.onEnterFrame = function() {
    
this._yscale += 5;
    if (
this._yscale>=100) {
        
delete this.onEnterFrame;
        
this._yscale 100;
        
newsText.load("news.txt");
        
newsText.onLoad = function(sucess) {
            if (
sucess) {
                
thisFilm.textClip.T_text.htmlText thisFilm.newsText.news;
                
thisFilm.textClip.T_text.setTextFormat(myTextFormat);
            } else {
                
thisFilm.textClip.T_text.htmlText "<b>Fehler</b> bei Ladevorgang!";
                
thisFilm.textClip.T_text.setTextFormat(myTextFormat);
            }
        };
        var 
fading setInterval(function () {
            
clearInterval(fading);
            
thisFilm.textClip.MC_up.onEnterFrame = function() {
                
this._alpha += 4;
                
this._parent.MC_down._alpha this._alpha;
                if (
this._alpha>=100) {
                    
delete this.onEnterFrame;
                }
            };
        }, 
500);
    }
}; 
es is halt verdammt viel code im moment, ich weiß;
einfach copy&paste in fla, und testen;
Angehängte Dateien
Dateityp: txt news.txt (1,8 KB, 9x aufgerufen)
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti ist offline   Mit Zitat antworten
Alt 02-09-2006, 17:19   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
wenn nu text reinkommt, sollte sich ja die höhe anpassen
Schau dir mal Textfeld.autoSize an. Du gibst dann bspw. eine feste Breite vor und der autoSize vergrößert dann das Textfeld automatisch.
  Mit Zitat antworten
Alt 02-09-2006, 18:14   #3 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
ok!

mal gucken!
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti ist offline   Mit Zitat antworten
Alt 02-09-2006, 18:52   #4 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
age, isch liiiebe disch!!!!
result will follow in a few moments.......

PHP-Code:
//++++++++++++++++++++++++++++++++++++++++++++++safe _root
var thisFilm:MovieClip this;
//+++++++++++++++++++++++++++++++++++++++++++++++++++text-movieclip
thisFilm.createEmptyMovieClip("textClip"10);
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++text
thisFilm.textClip.createTextField("T_text"100450285);
thisFilm.textClip.T_text.multiline true;
thisFilm.textClip.T_text.background true;
thisFilm.textClip.T_text.backgroundColor "0xD3C27C";
thisFilm.textClip.T_text.border true;
thisFilm.textClip.T_text.wordWrap true;
thisFilm.textClip.T_text.html true;
thisFilm.textClip.T_text.mouseWheelEnabled true;
thisFilm.textClip.T_text.selectable true;
thisFilm.textClip.T_text.borderColor "0xFFFFFF";
var 
myTextFormat:TextFormat = new TextFormat();
myTextFormat.align left;
myTextFormat.font "Verdana";
myTextFormat.leading 2;
myTextFormat.size 11;
//+++++++++++++++++++++++++++frame for textfield
thisFilm.createEmptyMovieClip("frameTop"15);
with (thisFilm.frameTop) {
    
lineStyle(10xFFFFFF100);
    
moveTo(00);
    
lineTo(4500);
}
thisFilm.createEmptyMovieClip("frameBottom"16);
with (thisFilm.frameBottom) {
    
lineStyle(10xFFFFFF100);
    
moveTo(0285);
    
lineTo(450285);
}
//++++++++++++++++++++++++++++++++++++++++++++++maske
thisFilm.createEmptyMovieClip("mask_mc"20);
with (thisFilm.mask_mc) {
    
lineStyle(10x999999100);
    
beginFill(0x999999100);
    
moveTo(00);
    
lineTo(4700);
    
lineTo(470286);
    
lineTo(0286);
    
lineTo(00);
}
thisFilm.textClip.setMask(thisFilm.mask_mc);
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++scrolling arrows
thisFilm.createEmptyMovieClip("MC_up"30);
thisFilm.MC_up._x thisFilm.textClip._x+thisFilm.textClip._width+4;
thisFilm.MC_up._y thisFilm.textClip._y;
with (thisFilm.MC_up) {
    
lineStyle(10xFFFFFF100);
    
beginFill(0xD3C27C100);
    
moveTo(60);
    
lineTo(60);
    
lineTo(1212);
    
lineTo(012);
    
lineTo(60);
}
thisFilm.MC_up.duplicateMovieClip("MC_down"40);
thisFilm.MC_down._y 285;
thisFilm.MC_down._yscale *= -1;
//+++++++++++++++++++++++++++++++++++++scroller bgnd
thisFilm.createEmptyMovieClip("bgnd"50);
with (thisFilm.bgnd) {
    
lineStyle(10x6200000);
    
beginFill(0x6200000);
    
moveTo(thisFilm.textClip._x+thisFilm.textClip._width-10thisFilm.textClip._y+16);
    
lineTo(thisFilm.textClip._x+thisFilm.textClip._width-10+6thisFilm.textClip._y+16);
    
lineTo(thisFilm.textClip._x+thisFilm.textClip._width-10+6thisFilm.textClip._y+20+16);
    
lineTo(thisFilm.textClip._x+thisFilm.textClip._width-10thisFilm.textClip._y+20+16);
    
lineTo(thisFilm.textClip._x+thisFilm.textClip._width-10thisFilm.textClip._y+16);
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++scrollbar
var scroller_x:Number thisFilm.textClip._x+thisFilm.textClip._width+6;
var 
scroller_y:Number thisFilm.textClip._y+16;
thisFilm.createEmptyMovieClip("scrollbar_mc"60);
with (thisFilm.scrollbar_mc) {
    
lineStyle(10xFFFFFF100);
    
beginFill(0xD3C27C100);
    
moveTo(scroller_xscroller_y);
    
lineTo(scroller_x+7scroller_y);
    
lineTo(scroller_x+7scroller_y+40);
    
lineTo(scroller_xscroller_y+40);
    
lineTo(scroller_xscroller_y);
}
var 
sliding false;
function 
init(hcm) {
    
thisFilm.bgnd._height Math.round(h-(thisFilm.MC_up._height*2));
    
this.ct c;
    
this.mask m;
    
startWatch();
}
function 
startWatch() {
    
thisFilm.scrollbar_mc.useHandCursor false;
    
thisFilm.scrollbar_mc.onPress = function() {
        
this.startDrag(false000bgnd._height-this._height);
        
sliding true;
    };
    
thisFilm.scrollbar_mc.onRelease = function() {
        
this.stopDrag();
        
sliding false;
    };
    
thisFilm.scrollbar_mc.onReleaseOutside = function() {
        
this.stopDrag();
        
sliding false;
    };
    
thisFilm.MC_up.useHandCursor thisFilm.MC_down.useHandCursor=false;
    
thisFilm.MC_up.onRollOver thisFilm.MC_up.onPress=function () {
        
startMove(-1);
    };
    
thisFilm.MC_up.onRollOut thisFilm.MC_up.onRelease=thisFilm.MC_up.onReleaseOutside=function () {
        
stopMove();
    };
    
thisFilm.MC_down.onRollOver thisFilm.MC_down.onPress=function () {
        
startMove(1);
    };
    
thisFilm.MC_down.onRollOut thisFilm.MC_down.onRelease=thisFilm.MC_down.onReleaseOutside=function () {
        
stopMove();
    };
    
_global.checker setInterval(function () {
        
getPos();
        
//reDraw();
    
}, 50);
}
function 
startMove(d) {
    if (
speed == undefined) {
        
speed 2;
    }
    
sliding true;
    
thisFilm.bgnd.onEnterFrame = function() {
        
thisFilm.scrollbar_mc._y += (d*speed);
        if (
thisFilm.scrollbar_mc._y<0) {
            
thisFilm.scrollbar_mc._y 0;
        }
        if (
thisFilm.scrollbar_mc._y>bgnd._height-thisFilm.scrollbar_mc._height) {
            
thisFilm.scrollbar_mc._y bgnd._height-thisFilm.scrollbar_mc._height;
        }
    };
}
function 
stopMove() {
    
sliding false;
    
delete thisFilm.bgnd.onEnterFrame;
}
function 
getPos() {
    if (
sliding) {
        var 
smax thisFilm.bgnd._height-thisFilm.scrollbar_mc._height;
        var 
scur thisFilm.scrollbar_mc._y;
        var 
percent scur*100/smax;
        var 
ab_pos percent*(ct._height-mask._height)/100;
        
ct._y = -ab_pos;
    }
}
/*function reDraw() {
var ratio = ct._height/mask._height;
thisFilm.scrollbar_mc._height = Math.round(bgnd._height/ratio);
if (thisFilm.scrollbar_mc._height<bgnd._height) {
this._visible = true;
} else {
this._visible = false;
}
}*/
//++++++++++++++++++++++init
thisFilm.onEnterFrame = function() {
    
init(285thisFilm.textClipthisFilm.mask_mc);
    
delete this.onEnterFrame;
};
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++wabber
thisFilm.MC_up._alpha thisFilm.MC_down._alpha=thisFilm.scrollbar_mc._alpha=thisFilm.frameTop._alpha=thisFilm.frameBottom._alpha=0;
thisFilm.textClip._yscale 0;
var 
newsText = new LoadVars();
thisFilm.textClip.onEnterFrame = function() {
    
this._yscale += 5;
    if (
this._yscale>=100) {
        
delete this.onEnterFrame;
        
this._yscale 100;
        
newsText.load("news.txt");
        
newsText.onLoad = function(sucess) {
            if (
sucess) {
                
thisFilm.textClip.T_text.htmlText thisFilm.newsText.news;
                
thisFilm.textClip.T_text.setTextFormat(myTextFormat);
                
thisFilm.textClip.T_text.autoSize "left";
                
thisFilm.textClip.T_text._width 450;
                
thisFilm.frameTop._alpha thisFilm.frameBottom._alpha=100;
            } else {
                
thisFilm.textClip.T_text.htmlText "<b>Fehler</b> bei Ladevorgang!";
                
thisFilm.textClip.T_text.setTextFormat(myTextFormat);
            }
        };
        var 
fading setInterval(function () {
            
clearInterval(fading);
            
thisFilm.MC_up.onEnterFrame = function() {
                
this._alpha += 4;
                
this._parent.MC_down._alpha this._parent.scrollbar_mc._alpha=this._alpha;
                if (
this._alpha>=100) {
                    
delete this.onEnterFrame;
                }
            };
        }, 
500);
    }
}; 
it funks!
Mahlzeit!

das mit css zu formatieren...mocht des irgendwie sinn?
Angehängte Dateien
Dateityp: rar load_scroll_pure_as.rar (6,1 KB, 32x aufgerufen)
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary

Geändert von andretti (02-09-2006 um 19:18 Uhr)
andretti ist offline   Mit Zitat antworten
Alt 03-09-2006, 00:26   #5 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
das mit css zu formatieren...mocht des irgendwie sinn?
Nur wenn du vorhast, öfter mal ohne weiteren Aufwand das Aussehen/Design deiner Texte zu ändern...
  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 12:16 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele