Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-09-2004, 11:46   #1 (permalink)
Gimbel Deluchs
 
Registriert seit: Apr 2004
Ort: Wieder da!
Beiträge: 153
DropDown Menu: Problem mit Transparenz

Moin Moin,


erstelle gerade für einen Kunden ein dynamisches DropDown Menu, später sollen die einzelnen MenuPunkte und Verknüpfungen aus XML ausgelesen werden, soweit bin ich aber noch nicht. (inspired by Warrentmasters XML-Menu)

Zur Funktionsweise:


Es liegen jeweils unter einem Hauptmenupunkt die Mcs der Untermenupunkte. Diese haben einen Alpha Wert von 0. Beim Ausfahren werden die Alpha Werte per Tween auf 100 hochgeschraubt. ( prototypes von : Laco )


Das Problem:

Das Menu selber liegt auf einem transparenten Hintergrund. Sobald ein Menupunkt mindestens 5 Untermenupunkte hat und der Hintergrund (menu_bg) eine Transparenz von <100 hat, kommt es zu "merkwürdigen" Darstellungsfehlern...(siehe fla)

Sobald entweder nur 4 Untermenupunkte verwendet werden oder der Hintergrund des Menus eine Transparenz =100 hat, kommt es NICHT zu diesen Darstellungsfehlern...?


Bin vollkommen Ratlos. Gibt es in Flash sowas wie nen Transparenz Bug?

Hier der Code: fla im Anhang

PHP-Code:
#include "lmc_tween.as"
//++++++++++++
// Aussehen **
//++++++++++++
var menuDepth:Number 100;
var 
startX:Number 0;
var 
startY:Number 0;
var 
w:Number 130;
var 
h:Number 16;
var 
abstand:Number 2;
var 
colorHead:Number 0x1973ED;
var 
alphaHead:Number 0;
var 
colorSub:Number 0x1973ED;
var 
alphaSub:Number 0;
var 
menuInTween:String "easeOutQuad";
var 
menuOutTween:String "easeOutQuad";
var 
InTweenTime:Number 1;
var 
OutTweenTime:Number 1;
//+++++++++++++++
// TextFormat ***
//+++++++++++++++
var sub_tf:TextFormat = new TextFormat();
sub_tf.font "standard_07_53";
sub_tf.size 8;
var 
head_tf:TextFormat = new TextFormat();
head_tf.font "standard_09_55";
head_tf.size 8;
//
var einrueckHead:Number 5;
var 
einrueckSub:Number 10;
//+++++++++++
// Inhalt ***
//+++++++++++
var menu_arr:Array = new Array();
menu_arr[0] = new Array("Thema 0""Sub 01""Sub 02");
menu_arr[1] = new Array("Thema 1""Sub 11""Sub 12""Sub 13""Sub 14""Sub 15""Sub 16");
menu_arr[2] = new Array("Thema 2""Sub 21""Sub 22""Sub 23""Sub 24""Sub 25");
menu_arr[3] = new Array("Thema 3""Sub 31""Sub 32""Sub 33""Sub 34");
menu_arr[4] = new Array("Thema 4""Sub 41""Sub 42""Sub 43");
var 
label_arr:Array = new Array();
label_arr[0] = new Array("XYZ.de""News""News Archiv");
label_arr[1] = new Array("Projekte""Unterliederbach""Heisenrath""KarlKirchner Siedlung""Jaspertstrasse""Kalbach""Neu Isenburg");
label_arr[2] = new Array("Profil""Philosophie""Team""Zukunft""Geschichte""SUB BLA BLA");
label_arr[3] = new Array("Partner""Kinderbüro""Stadt Frankfurt""Grünflächenamt""Lieferanten");
label_arr[4] = new Array("Kontakt""Impressum""Disclaimer""Lageplan");
//+++++++++++++++
// Logik ********
//+++++++++++++++
var idOffen:Number;
var 
offen:Boolean false;
//+++++++++++++++
// Funktionen ***
//+++++++++++++++
function init():Void {
    for (
0menu_arr.lengthi++) {
        
createHead(i);
    }
}
function 
createHead(i:Number):Void {
    
mc this.createEmptyMovieClip(menu_arr[i][0], menuDepth);
    
menuDepth--;
    
mc._x startX;
    
mc._y startY + (h) + (abstand);
    
mc.mc._y;
    
mc.i;
    
mc.0;
    
mc.useHandCursor false;
    
draw(mc);
    
setText(mc);
    
mouseEvent(mc);
    
//trace(mc._name + " " + mc.getDepth() + " " + mc._y);
    
for (1menu_arr[i][k] != undefinedk++) {
        
createSub(ik);
    }
}
function 
createSub(i:Numberk:Number):Void {
    
mc this.createEmptyMovieClip(menu_arr[i][k], menuDepth);
    
menuDepth--;
    
mc._x startX;
    
mc._y startY + (h) + (abstand);
    
mc.mc._y;
    
mc.i;
    
mc.k;
    
mc._alpha 0;
    
mc.useHandCursor false;
    
draw(mc);
    
setText(mc);
    
mouseEvent(mc);
    
//trace(mc._name + " " + mc.getDepth() + " " + mc._y);
}
function 
mouseEvent(mc:MovieClip):Void {
    
mc.onPress = function() {
        if (
offen) {
            
//Wenn schon offen und angeklickte id = idoffen
            
if (idOffen == this.i) {
                
//dann offenen Mp moveIn
                
moveIn(this.i);
                
offen = !offen;
            } else {
                
//Wenn ein anderer Mp offen ist, moveIn den offenen und moveOut den angeklickten
                
moveIn(idOffen);
                
moveOut(this.i);
            }
        } else {
            
//wenn noch nix offen dann öffne angeklicktes Menu
            
moveOut(this.i);
            
offen = !offen;
        }
        
idOffen this.i;
    };
    
mc.onRollOver = function() {
        
//this.k != 0 ? this.alphaTo(100, OutTweenTime, menuOutTween, OutTweenTime) : 0;
    
};
    
mc.onRollOut = function() {
        
//this.k != 0 ? this.alphaTo(0, OutTweenTime, menuOutTween) : 0;
    
};
}
function 
moveOut(mp:Number):Void {
    
//Sub moveOut
    
for (smp 1smp menu_arr[mp].lengthsmp++) {
        
this["Sub " mp smp].tween("_y"this["Sub " mp smp].smp hOutTweenTimemenuOutTween);
        
this["Sub " mp smp].alphaTo(100OutTweenTimemenuOutTween);
    }
    
//andere Head und Sub moveOut
    
for (next_mp = (mp 1); next_mp menu_arr.lengthnext_mp++) {
        
this["Thema " next_mp].tween("_y"this["Thema " next_mp].+ ((menu_arr[mp].length 1) * h), OutTweenTimemenuOutTween);
        for (
next_smp 1next_smp menu_arr[next_mp].lengthnext_smp++) {
            
this["Sub " next_mp next_smp].tween("_y"this["Sub " next_mp next_smp].+ ((menu_arr[mp].length 1) * h), OutTweenTimemenuOutTween);
        }
    }
}
function 
moveIn(mp:Number):Void {
    
//Klick auf Thema:  Sub moveIn
    
for (smp 1smp menu_arr[mp].lengthsmp++) {
        
this["Sub " mp smp].tween("_y"this["Sub " mp smp].yInTweenTimemenuInTween);
        
this["Sub " mp smp].alphaTo(0OutTweenTimemenuOutTween);
    }
    
//andere Head und Sub moveIn
    
for (next_mp = (mp 1); next_mp menu_arr.lengthnext_mp++) {
        
this["Thema " next_mp].tween("_y"this["Thema " next_mp].yInTweenTimemenuInTween);
        for (
next_smp 1next_smp menu_arr[next_mp].lengthnext_smp++) {
            
this["Sub " next_mp next_smp].tween("_y"this["Sub " next_mp next_smp].yInTweenTimemenuInTween);
        }
    }
}
function 
draw(mc:MovieClip):Void {
    
mc.createEmptyMovieClip("bgHead"0);
    if (
!= && != && mc.== 0) {
        
//Lösche alte Zeichnungen
        
mc.bgHead._alpha alphaHead;
        
mc.bgHead.clear();
        
// Stift positionieren
        
mc.bgHead.moveTo(00);
        
// Zeichnen und Füllen
        
mc.bgHead.beginFill(colorHead100);
        
mc.bgHead.lineTo(w0);
        
mc.bgHead.lineTo(wh);
        
mc.bgHead.lineTo(0h);
        
mc.bgHead.lineTo(00);
        
mc.bgHead.endFill();
    } else {
        
mc.createEmptyMovieClip("bgSub"0);
        
//Lösche alte Zeichnungen
        
mc.bgSub._alpha alphaSub;
        
mc.bgSub.clear();
        
// Stift positionieren
        
mc.bgSub.moveTo(00);
        
// Zeichnen und Füllen
        
mc.bgSub.beginFill(colorSub100);
        
mc.bgSub.lineTo(w0);
        
mc.bgSub.lineTo(wh);
        
mc.bgSub.lineTo(0h);
        
mc.bgSub.lineTo(00);
        
mc.bgSub.endFill();
    }
}
function 
setText(mc:MovieClip):Void {
    
mc.== mc.createTextField("txt"1einrueckHead000) : mc.createTextField("txt"1einrueckSub000);
    
mc.== mc.txt.textColor 0xEEEEEE mc.txt.textColor 0xFFFFFF;
    
//ggf auf true setzen, schrift muss in bib verknüpft werden und im textformat angegeb werden
    
mc.txt.type "static";
    
mc.txt.embedFonts true;
    
mc.txt.autoSize true;
    
mc.txt.text label_arr[mc.i][mc.k];
    
mc.txt.selectable false;
    
mc.== mc.txt.setTextFormat(head_tf) : mc.txt.setTextFormat(sub_tf);
}
//+++++++++++++++
// Starten ******
//+++++++++++++++
init(); 
Bin dankbar für jede Hilfe, wem das Menu gefällt, kann sich gerne bedienen!


Gruss Mr.D
Angehängte Dateien
Dateityp: rar dropDown.rar (16,3 KB, 45x aufgerufen)
Mr.Dauerfeuer ist offline   Mit Zitat antworten
Alt 03-09-2004, 13:47   #2 (permalink)
Gimbel Deluchs
 
Registriert seit: Apr 2004
Ort: Wieder da!
Beiträge: 153
je mehr transparente Untermenupunkte untereinander liegen, um so mehr "schimmern" diese durch...sobald ich den Menuhintergrund auf 100% Alpha setze spielt die Anzahl der Untermenupunkte keine Rolle....

ich blick des einfach net......habe schon nach Alpha/Transparenz Bug + Flash gegoogelt aber nix gefunden....
Mr.Dauerfeuer ist offline   Mit Zitat antworten
Alt 03-09-2004, 17:58   #3 (permalink)
Gimbel Deluchs
 
Registriert seit: Apr 2004
Ort: Wieder da!
Beiträge: 153
*ThreadNachVorneHol*


keiner ne Idee...?

Geändert von Mr.Dauerfeuer (03-09-2004 um 18:49 Uhr)
Mr.Dauerfeuer 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 04:21 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele