Zurück   Flashforum > Flash > Stuff

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-11-2004, 01:43   #1 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.367
[stuff] trace station ---> in jeder umgebung trace´n!

hola,

habe neulig wieder was gebastelt. es ging mir tierisch auf den keks, daß ich, wenn ich meine swf´s online testen mußte nur umständlich an meine tracings kam! es ging zwar, aber oft war einfach ein textfeld die lösung, das meist im weg war.... oder weitere unkomfortable lösungen...

aus diesem grund habe ich mir eine, bzw meine tracing station gebastelt. hier handelt es sich also um eine flash mx fenster komponente. das bedeutet, ihr habt ein fenster wie in flash zur verfügung, daß euch eure tracings anzeigt. statt dem befehl:
PHP-Code:
trace("hello world"); 
gebt ihr, wenn ihr die komponente auf die bühne gezogen habt und eure individuellen einstellungen (erklärung weiter unten) gemacht habt einfach lediglich das hier ein:
PHP-Code:
_trace("hello world"); 
jetzt erstmal das as soweit (fla und swf gibts unten)
PHP-Code:
stop();

//-----------------------------------------------------------------------------------

var _my this;

_my.swapDepths(12000);
_my.startt "Willkommen bei der MYTRACE STATION!";

//-----------------------------------------------------------------------------------

function initmytr(){
    
    
_my._i 0;
    
_my._acc true;//tracing ist erluabt
    
_my._mymc _my.mytr.mytr_txt;
    
_my._myetr "default";
    
_my._myarr = new Array();
    
_my._mywrd "";
    
_my._myow = new Array();
    
_my._se "";
    
_my._awidth _my.wsize;
    
_my._aheight _my.hsize;
    
_my._cn _my.txtcl;
    
_my._cm _my.txttrcl;
    
_my._hl _my.txttrhl;
    
_my._li = new Object();
    
_my._li.onChanged = function() { 
        
_my._se _my.mytr.mytr_toolb._s.text;
    }
    
_my.mytr.mytr_toolb._s.addListener(_my._li);
    
    var 
setcl = function(){
        var 
mytr_drag_cl = new Color(_my.mytr.mytr_drag);
        var 
mytr_tools_cl = new Color(_my.mytr.mytr_tools);
        var 
mytr_left_cl = new Color(_my.mytr.mytr_left);
        var 
mytr_right_cl = new Color(_my.mytr.mytr_right);
        var 
mytr_down_cl = new Color(_my.mytr.mytr_down);
        var 
mytr_textbg_cl = new Color(_my.mytr.mytr_textbg);
        
mytr_drag_cl.setRGB(_my.bordercl);
        
mytr_tools_cl.setRGB(_my.bordercl);
        
mytr_left_cl.setRGB(_my.bordercl);
        
mytr_right_cl.setRGB(_my.bordercl);
        
mytr_down_cl.setRGB(_my.bordercl);
        
mytr_textbg_cl.setRGB(_my.txtbgcl);
    }
    var 
settxtf = function(){
        
_my.mytxtform = new TextFormat();
        
_my.mytxtform.size _my.txtsize;
        
_my.mytxtform.bold _my.txtbold;
        
_my.mytxtform.italic _my.txtitalic;
        
_my.mytxtform.underline _my.txtunderl;
        
_my.mytr.mytr_txt.html true;
        
_my.mytr.mytr_txt.multiline true;
        
_my.mytr.mytr_txt.selectable true;
        
_my.mytr.mytr_txt.wordWrap true;
        
_my.mytr.mytr_txt.text _my.startt;
        
_my.mytr.mytr_txt.setTextFormat(_my.mytxtform);
    }
    var 
setmcs = function(){
        
//platziert mcs
        
setsz(_my.wsize_my.hsize);
        
//---
        //init bts
        
_my.mytr.mytr_drag.onPress = function(){
            
_my.startDrag();
        }
        
_my.mytr.mytr_drag.onRelease _my.mytr.mytr_drag.onReleaseOutside = function(){
            
_my.stopDrag();
            
_my._x int(_my._x);
            
_my._y int(_my._y);
        }
        
//---------------
        //horizontal
        
_my.mytr.mytr_right.onPress = function(){
            
_my.onMouseMove = function() {
                if(
_my._xmouse _my.mws && _my._xmouse <  _my.maws){
                    
_my.mytr.mytr_right._x _my._xmouse;
                    
setsz(_my.mytr.mytr_right._x_my.mytr._height)
                }
            }
        }
        
_my.mytr.mytr_right.onRelease _my.mytr.mytr_right.onReleaseOutside = function(){
            
delete _my.onMouseMove;
        }
        
//---------------
        //vertikal
        
_my.mytr.mytr_down.onPress = function(){
            
_my.onMouseMove = function() {
                if(
_my._ymouse _my.mhs && _my._ymouse _my.mahs){
                    
_my.mytr.mytr_down._y _my._ymouse;
                    
setsz(_my.mytr._width_my.mytr.mytr_down._y)
                }
            }
        }
        
_my.mytr.mytr_down.onRelease _my.mytr.mytr_down.onReleaseOutside = function(){
            
delete _my.onMouseMove;
        }
        
//---------------
        //horizontal & vertikal
        
_my.mytr.mytr_rsize.onPress = function(){
            
_my.onMouseMove = function() {
                if(
_my._xmouse _my.mws && _my._xmouse <  _my.maws){
                    
_my.mytr.mytr_right._x _my._xmouse;
                    
setsz(_my.mytr.mytr_right._x_my.mytr._height);
                }
                if(
_my._ymouse _my.mhs && _my._ymouse _my.mahs){
                    
_my.mytr.mytr_down._y _my._ymouse;
                    
setsz(_my.mytr._width_my.mytr.mytr_down._y);
                }
            }
        }
        
_my.mytr.mytr_rsize.onRelease _my.mytr.mytr_rsize.onReleaseOutside = function(){
            
delete _my.onMouseMove;
        }
        
//---------------
        
_my.mytr.mytr_barbts.mytr_btmin.onPress = function(){
            
setsz(_my.mws_my.mhs);
        }
        
//---------------
        
_my.mytr.mytr_barbts.mytr_btmax.onPress = function(){
            
setsz(_my.maws_my.mahs);
        }
        
//---------------
        
_my.mytr.mytr_toolb.mytr_btstst.onPress = function(){
            if(
this._currentframe == 1){
                
this.gotoAndStop(2);
                
_my._acc false;
            }else if(
this._currentframe == 2){
                
this.gotoAndStop(1);
                
_my._acc true;
            }
        }
        
//---
    
}
    
setcl();
    
settxtf();
    
setmcs();
}

initmytr();

//-----------------------------------------------------------------------------------

function setsz(_xpos_ypos){
    
_my.mytr.mytr_drag._width int(_xpos);
    
_my.mytr.mytr_tools._width _my.mytr.mytr_drag._width;
    
_my.mytr.mytr_down._width _my.mytr.mytr_tools._width;
    
_my.mytr.mytr_right._x int((_my.mytr.mytr_drag._x _my.mytr.mytr_drag._width) - _my.mytr.mytr_right._width);
    
_my.mytr.mytr_left._height int(_ypos - (_my.mytr.mytr_drag._height _my.mytr.mytr_tools._height));
    
_my.mytr.mytr_right._height _my.mytr.mytr_left._height;
    
_my.mytr.mytr_tools._y int(_my.mytr.mytr_left._y _my.mytr.mytr_left._height);
    
_my.mytr.mytr_down._y int((_my.mytr.mytr_tools._y _my.mytr.mytr_tools._height) - _my.mytr.mytr_down._height);
    
_my.mytr.mytr_textbg._width int(_my.mytr.mytr_right._x _my.mytr.mytr_right._width);
    
_my.mytr.mytr_textbg._height int(_my.mytr.mytr_tools._y _my.mytr.mytr_drag._height);
    
_my.mytr.mytr_barbts._x int((_my.mytr.mytr_drag._x _my.mytr.mytr_drag._width) - (_my.mytr.mytr_right._width _my.mytr.mytr_barbts._width));
    
_my.mytr.mytr_txt._width int(_my.mytr.mytr_textbg._width _my.mytr.mytr_drag._height);
    
_my.mytr.mytr_txt._height int(_my.mytr.mytr_textbg._height _my.mytr.mytr_right._width);
    
_my.mytr.mytr_rsize._x int((_my.mytr.mytr_tools._x _my.mytr.mytr_drag._width) - (_my.mytr.mytr_rsize._width));
    
_my.mytr.mytr_rsize._y int((_my.mytr.mytr_tools._y _my.mytr.mytr_tools._height) - (_my.mytr.mytr_rsize._height));
    
_my.mytr.mytr_toolb._y _my.mytr.mytr_tools._y;
}

//-----------------------------------------------------------------------------------

MovieClip.prototype._trace = function(_m){
    if(
_my._acc == true){
        if(
_m == _my._se){
            
_my._cm _my._hl;
            
_my._cn _my._hl;
        }else{
            
_my._cm _my.txttrcl;
            
_my._cn _my.txtcl;
        }    
        
_my._myetr _m;
        
_my._myow.splice(00,_my._mywrd)
        if(
_my._myow.length >= _my._my.trst_my._myow.splice(_my.trst);
        
_my._myarr[_my._i] = _my._myetr;
        
_my._mywrd "<font color='"+_my._cm+"'>_line"+(_i+1)+"</font>:   " "<font color='"+_my._cn+"'>"+_myarr[_i]+"</font>"+"<br>";
        
_my._mymc.htmlText _myow.join('');
        
_my._mymc.setTextFormat(_my.mytxtform);
        
_my._i++;
    }

soo. genug as zunächst. die trace station ist auch noch nicht fertig! also diverse geile erweiterungen wären denkbar...

hier zur erklärung, was man in den komponten eigenschaften bis jetzt alles einstellen kann:
PHP-Code:
trst//größe des tracing speichers
wsize//ausgangsgröße breite
hsize//ausgangsgröße höhe
mws//minimale fensterbreite
mhs//minimale fensterhöhe
maws//maximale fensterbreite
mahs//maximale fensterhöhe
bordercl//fensterfarbe 
txtbgcl//hintergrundfarbe
txttrcl//highlight textfarbe
tstcrhl//mark textfarbe
txtcl//textfarbe
txtbold//erklärt sich selbst
txtitalic//erklärt sich selbst
txtunderl//erklärt sich selbst
txtsize//schriftgröße
txtfont//font... bisher _sans 
bisher gibts 2 funktionen:
- das tracing kann gestoppt, bzw. forstgesetzt werden
- gibt man bei MARK TRACE z.B. "hello world" ein, dann werden alle folgenden tracings mit der tstcrhl eingefärbt...

an diversen erweiterungen arbeite ich noch

anbei eine zip mit fla und swf drinn. in diesem beispiel ist auf _root bzw _level0 in frame 1 test as, welches die trace station anspricht.... diverse befehle wurde ausgeklammert.... zum testen mal wieder aktivieren. _trace funktioniert im prinziep genause wie trace.... nur _trace versteht html befehle wie <br> aber genauso auch \n (beides zeilenumbrüche)! wie bereits gesagt findet ihr diverse testaufrufe in der fla... die dicken runden buttons sprechen ebenso _trace an.... der unterste bt traced z.b. _trace("yo");... wenn ihr also jetzt bei mark trace yo eingebt... wird das immer gehighlightet.... ach ja. der close bt hat noch keine funktion. da hatte ich geplant das trace station fenster änlich wie bei apple so minimized an den rand zu setzen....

hoffe ich hab an alles gedacht

also ich benutze das ding inzwischen recht häufig. nicht immer, aber hier und da ists sehr praktisch! vielleicht hat der ein oder andere ja spaß daran.

cya, sal
Angehängte Dateien
Dateityp: zip _mytrace_beta01.zip (12,0 KB, 154x aufgerufen)
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.

Geändert von salazar (09-11-2004 um 02:15 Uhr)
salazar ist offline   Mit Zitat antworten
Alt 09-11-2004, 02:04   #2 (permalink)
Flashaholic
 
Benutzerbild von atothek
 
Registriert seit: Feb 2003
Ort: Berlin
Beiträge: 1.459
schönes teil was du da hast.
ne idee wäre mit einem simplen shortCut den traceOut ein bzw auszublenden
[strg + alt + t] oder sowas
was auch coll wäre ne reset function um das log zu löschen.
aber sonst schönes teil. mit nem separatem popup könnte man es eventuell auch üder localconnection / sharedobject loofen lasen, oder?

mfg
alex
__________________
TVNEXT Solutions
atothek ist offline   Mit Zitat antworten
Alt 09-11-2004, 02:09   #3 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.367
@atothek: thx. jaa! wie gesagt. ist noch nicht fertig.... viele ideen, sprich erweiterungen wären denkbar... idee 1 hatte ich auch schon drann gedacht. idee2 find ich sehr interessant.

weitere vorschläge sind natürlich willkommen und erwünscht

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
salazar ist offline   Mit Zitat antworten
Alt 09-11-2004, 12:07   #4 (permalink)
weirdoz
 
Benutzerbild von Ghanji
 
Registriert seit: Aug 2002
Ort: Ruhr.G-Beat
Beiträge: 324
hallo salazar,
nette sache das!

zu idee 2:
habe, weiß nicht mehr wo, ´mal ´n nettes remote-trace script, daß über ´ne LocalConnection funzt gefunden...
vielleicht interessierts dich ja



PHP-Code:
debugTracer = new LocalConnection();
_global.rtrace = function(argbroadcast) {
    
trace(arg);
    if (!
broadcast) {
        
debugTracer.send("_traceDebug""displayTrace"arg);
    }
};




// this code is what the recieving movie contain.. along with a textfield called output_txt
debugTracer = new LocalConnection();
debugTracer.allowDomain = function() {
    return 
true;
};
debugTracer.displayTrace = function(arg) {
    
output_txt.text += (arg newline);
    
output_txt.scroll output_txt.maxscroll;
};
debugTracer.connect("_traceDebug");


// __________________________________
// Params:
// argument,broadcast
// argument - is the message to be output
// broadcast is a boolean value, if false it will only TRACE the argument, not broadcast it.
// Usage:
// rtrace("hello"); 
gruß,
ghanji
Ghanji ist gerade online   Mit Zitat antworten
Alt 09-11-2004, 12:42   #5 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.367
@Ghanji: das sieht doch nett aus!... hab nur im moment kaum zeit weiter zu basteln... vielleicht gibts in den nächsten tagen mal wieder ein paar neue features?!
bastle grad an einer eigenen scrollbar für die tracestation... ist aber ganz schön tricky, weil ja so ziemlich alle größen variabel sind, bzw. sein können... schaun ma mal... kommt bald

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
salazar ist offline   Mit Zitat antworten
Alt 13-12-2004, 21:05   #6 (permalink)
Neuer User
 
Registriert seit: May 2004
Ort: rhein-main
Beiträge: 111
Hi!

Bin grad eher zufällig auf diesen Thread gestossen. Wollte gleich mal schauen, ob sich da inzwischen was getan hat. Aber hier im Forum konnte ich unter "tracestation" nichts mehr finden...

Wird weiter an dem Projekt gearbeitet?
i b o ist offline   Mit Zitat antworten
Alt 13-12-2004, 21:35   #7 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.367
@i b o: nö im moment nicht. die funktioniert soweit ja auch..... klaro. man kann sich noch einige features vorstellen, aber im moment fehlt mir die zeit...

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
salazar ist offline   Mit Zitat antworten
Alt 05-05-2005, 19:14   #8 (permalink)
poke
 
Registriert seit: Dec 2002
Ort: Iserlohn [NRW]
Beiträge: 2.304
hi salazar!

Hab den Thread grad zufällig gefunden. Könntest du die zip nochmal hochladen? Die ist ja leider defekt
pokepika ist offline   Mit Zitat antworten
Alt 05-05-2005, 19:22   #9 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.367
Arrow

logisch...
cya, sal
Angehängte Dateien
Dateityp: zip _mytrace_beta01.zip (12,0 KB, 66x aufgerufen)
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
salazar ist offline   Mit Zitat antworten
Alt 05-05-2005, 19:46   #10 (permalink)
poke
 
Registriert seit: Dec 2002
Ort: Iserlohn [NRW]
Beiträge: 2.304
danke!

cooles teil
pokepika ist offline   Mit Zitat antworten
Alt 05-05-2005, 19:50   #11 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.367
bitteschön!

danke. ..aber das teil ist jetzt schon was älter!

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
salazar 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:42 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele