Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-02-2006, 18:49   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 56
Nochmals hitTest Frage verschachtelte Button MC`s???

Hallo,

ich komme einfach nicht weiter. Ich habe einen MC der (wenn man mit der Maus drüber fährt) wie eine Schublade herausfährt. In diesem MC lade ich ein Untermenü in einen leeren Container. Allerdings funktionieren jetzt meine Buttons in diesem Container nicht mehr. Habe das Problem hier schon einmal gepostet.
Dort wurde mir gesagt, das ich meine Button-Aktionen mit hitTest abfangen muß. Weiß nicht wie ich vorgehen soll. Könntet ihr euch das mal bitte anschauen. Bin am verzweifeln!!! Ich verbringe schon den ganzen Tag mit diesem Problem und will es unbedingt hinkriegen!!!

Danke und viele Grüße

Jenz
Angehängte Dateien
Dateityp: rar test.rar (32,2 KB, 12x aufgerufen)
Jenz ist offline   Mit Zitat antworten
Alt 24-02-2006, 22:54   #2 (permalink)
pensionist
 
Benutzerbild von troner
 
Registriert seit: Jan 2003
Ort: Thalheim b. Wels
Beiträge: 568
hallo

mann könnte (sollte) das prinzip wie du dein script aufgebaut hast überdenken aber
aus die schnell gehts auch so.

PHP-Code:
// Slide Funktion (PositionX/Y)
function dynmenu(neuposXneuposYfaktor) {
    
_root.submenue.menue.onEnterFrame = function() {
        
// Position
        
posX this._parent._x;
        
posY this._parent._y;
        
difposX posX-neuposX;
        
difposY posY-neuposY;
        
this._parent._x posX-(difposX/faktor);
        
_root.submenue._x Math.floor(_root.submenue._x);
        
this._parent._y posY-(difposY/faktor);
        
_root.submenue._y Math.floor(_root.submenue._y);
        
// Löschen
        
if (neuposX == Math.round(posX) && neuposY == Math.round(posY)) {
            
delete this.onEnterFrame;
        }
    };
}
var 
ml = {};
ml.onMouseMove checkSubMenuMouseOver;
Mouse.addListener(ml);
function 
checkSubMenuMouseOver ( ) 
{
    if(
_root.submenue.hitTest(_root._xmouse_root._ymousetrue)) {
        
dynmenu(1851004);
    } else {
        
dynmenu(01004);
    }
}

/*
_root.submenue.onRollOver = function() {
    dynmenu(185, 100, 4);
};
_root.submenue.onRollOut = function() {
    dynmenu(0, 100, 4);
};**/
 //Mouse Hide
_root.mouse_hide.useHandCursor false;
_root.submenue.useHandCursor false;
_root.mouse_hide_02.onRollOver = function() {
};
_root.mouse_hide_02.useHandCursor false;
loadMovie('shirts.swf'_root.submenue.container_02); 
mfg

Geändert von troner (24-02-2006 um 22:56 Uhr)
troner ist offline   Mit Zitat antworten
Alt 25-02-2006, 00:09   #3 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 56
Hallo Troner,

vielen Dank für deine Hilfe!!! Hatte es nun anders hinbekommen aber ich werde es nach deinem Script umsetzen. Wie meinst du das, man sollte den Aufbau
meines Scripts überdenken. Da ich Lernwillig bin, bin ich natürlich für Tipps immer offen . Was würdest du an meinem Script verändern?

Bin schon mal froh, dass es läuft. Habe mich heute den ganzen Tag durch die Flash AS-Hilfe gelesen und bin einfach nicht weitergekommen.

Also Tausend Dank!!!

Greetz Jenz
Jenz ist offline   Mit Zitat antworten
Alt 25-02-2006, 00:38   #4 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 56
Mir ist noch was aufgefallen? Wenn man links aus dem Submenue herausfährt,
dann will es sich immer wieder rausschieben. Hab eine Fläche in dem Bereich darübergelegt mit:

Code:
_root.mouse_hide.onRollOver = function(){}
_root.mouse_hide.useHandCursor = false
nun wird diese Fläche nicht erkannt und das Menü will immer wieder
rausfahren.



Gruß Jenz
Jenz ist offline   Mit Zitat antworten
Alt 25-02-2006, 18:16   #5 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 56
Question

Ich würde gerne wenn ich über einen anderen MC gehe
den hitTest des Submenue-MC beenden. Geht das?
Hier mal das AS:

Code:
// Slide Funktion (PositionX/Y)
function dynmenu(neuposX,neuposY,faktor) {
	_root.submenue.menue.onEnterFrame = function() {
		// Position
		posX = this._parent._x;
		posY = this._parent._y;
		difposX = posX-neuposX;
		difposY = posY-neuposY;
		this._parent._x = posX-(difposX/faktor);
		_root.submenue._x = Math.floor(_root.submenue._x);
		this._parent._y = posY-(difposY/faktor);
		_root.submenue._y = Math.floor(_root.submenue._y);
		// Löschen
		if (neuposX == Math.round(posX) && neuposY == Math.round(posY)) delete this.onEnterFrame;
	};
}

var ml = {};
ml.onMouseMove = checkSubMenuMouseOver;
Mouse.addListener(ml);
function checkSubMenuMouseOver ( ) 
{
    if(_root.submenue.hitTest(_root._xmouse, _root._ymouse, true)) {
        dynmenu(185, 100, 4);
    } else {
        dynmenu(0, 100, 4);
    }
}

Viele Grüße Jenz
Jenz ist offline   Mit Zitat antworten
Alt 26-02-2006, 21:02   #6 (permalink)
pensionist
 
Benutzerbild von troner
 
Registriert seit: Jan 2003
Ort: Thalheim b. Wels
Beiträge: 568
hallo

einfach die if erweitern mit dem mc der verhindern soll das nicht eingefahren wird!

PHP-Code:
var menuOver:Boolean _root.submenue.hitTest(_root._xmouse_root._ymousetrue);
var 
haltOver:Boolean _root.deinHaltMc.hitTest(_root._xmouse_root._ymousetrue);
if(
menuOver && !haltOver) {
    .... 
mfg
troner 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 02:02 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele