BartBacardi
%Europe/Berlin %653 %2006, 16:41
Beste mensen ik heb onlangs op een site een tutorial gevonden met een Roterend menu. Nu had deze persoon losse buttons gemaakt. En een lege Movieclip waar een actionscript in stond om het geheel te laten roteren. Gezien hij een movieclip gebruikte kon ik de achtergrond niet transparant maken.
Nu was mijn idee om de movieclip gewoon te verwijderen en vervolgens het actionscript gewoon in een nieuwe Layer te zetten. Vervolgens het script iets wat aanpassen en hopla het zou moeten werken. Nu is het probleem dat het geheel min of meer nog wel werkt hij bepaalt alleen de mousehit niet meer goed. De code die ik heb is alsvolgt:
_root.onLoad = function() {
a = 0;
speedMax = 0.5;
ctrlSpeed = 0.4;
centre = _root._height * 0.5;
offset = 75;
heightMax = 12;
heightMin = 6;
widthMax = 100;
widthMin = 40;
alphaMin = 20;
maxTextNum = 12;
}
_root.onEnterFrame = function() {
for (i=0; i<(maxTextNum + 1); i++) {
move(i, i-1);
}
function move(textNum, phase) {
a += ctrlSpeed;
// f(x) = sin(phase + a)
sinYpos = Math.sin(phase+(-1/offset*a+1+1/offset*centre-offset));
_root["text"+textNum]._y = (-(offset)*sinYpos)+centre+offset-(-(offset)*-1);
// f(x) = cos(phase + a)
cosYpos = Math.cos(phase+(-1/offset*a+1+1/offset*centre-offset));
_root["text"+textNum]._width = (widthMax-widthMin)/2*cosYpos+(widthMax-widthMin)/2+widthMin;
_root["text"+textNum]._height = (heightMax-heightMin)/2*cosYpos+(heightMax-heightMin)/2+heightMin;
_root["text"+textNum]._alpha = ((100-alphaMin)/2*cosYpos)+(100-alphaMin)/2+alphaMin;
}
}
_root.onMouseMove = function () {
if (_root.hitTest(_root._xmouse, _root._ymouse, true)) {
ctrlSpeed = -1 * (speedMax / centre) * _root._ymouse;
}
}
De FLA heb ik hieronder. Wie ow wie kan me vertellen wat ik fout doe.
En als we dat gedeelte werkend hebben kan ik weer naar de volgende stap en dat is dit menu Dynamisch maken. Ofwel eens kijken of we de tekst uit een database kunnen lezen en vervolgens laten roteren :P
Nu was mijn idee om de movieclip gewoon te verwijderen en vervolgens het actionscript gewoon in een nieuwe Layer te zetten. Vervolgens het script iets wat aanpassen en hopla het zou moeten werken. Nu is het probleem dat het geheel min of meer nog wel werkt hij bepaalt alleen de mousehit niet meer goed. De code die ik heb is alsvolgt:
_root.onLoad = function() {
a = 0;
speedMax = 0.5;
ctrlSpeed = 0.4;
centre = _root._height * 0.5;
offset = 75;
heightMax = 12;
heightMin = 6;
widthMax = 100;
widthMin = 40;
alphaMin = 20;
maxTextNum = 12;
}
_root.onEnterFrame = function() {
for (i=0; i<(maxTextNum + 1); i++) {
move(i, i-1);
}
function move(textNum, phase) {
a += ctrlSpeed;
// f(x) = sin(phase + a)
sinYpos = Math.sin(phase+(-1/offset*a+1+1/offset*centre-offset));
_root["text"+textNum]._y = (-(offset)*sinYpos)+centre+offset-(-(offset)*-1);
// f(x) = cos(phase + a)
cosYpos = Math.cos(phase+(-1/offset*a+1+1/offset*centre-offset));
_root["text"+textNum]._width = (widthMax-widthMin)/2*cosYpos+(widthMax-widthMin)/2+widthMin;
_root["text"+textNum]._height = (heightMax-heightMin)/2*cosYpos+(heightMax-heightMin)/2+heightMin;
_root["text"+textNum]._alpha = ((100-alphaMin)/2*cosYpos)+(100-alphaMin)/2+alphaMin;
}
}
_root.onMouseMove = function () {
if (_root.hitTest(_root._xmouse, _root._ymouse, true)) {
ctrlSpeed = -1 * (speedMax / centre) * _root._ymouse;
}
}
De FLA heb ik hieronder. Wie ow wie kan me vertellen wat ik fout doe.
En als we dat gedeelte werkend hebben kan ik weer naar de volgende stap en dat is dit menu Dynamisch maken. Ofwel eens kijken of we de tekst uit een database kunnen lezen en vervolgens laten roteren :P