PDA

Volledige versie bekijken : 360º scroller met twee buttons, maar hoe?


spruitje
%Europe/Berlin %484 %2005, 12:38
Geachte FlashFocusForumLezers, ik heb een flashding gemaakt waarin een 'panorama' foto naar links en rechts uit beeld kan scrollen waarbij het begin het einde raakt, een carrousel dus zeg maar..Nu wil ik de zaak aansturen met 2 buttons (een om naar rechts, en u raadt het al: een om naar links te scrollen). De AS die ik nu op de linkerbutton heb staan is alsvolgt:

on(press){
moview = 550;
w = _root.foto._width;
speed = 12;
}
on(press) {
// scrollen op x-as
xpos = _root.butlinks;
xpos =xpos-(moview/2);
_root.foto._x = _root.foto._x-(xpos/speed);
}

Maarrrr, nu (zoals was te verwachten) gaat de scroller bij elke muisklik maar een klein stukje verder, terwijl ik beoog dat als je de muis INgedrukt houdt, de zaak net zo lang blijft scrollen, totdat je hem loslaat.

Kan iemand mij uitleggen hoe dit het gemakkelijkst kan?

Bij voorbaat dank.

Spruit. :o

pulletje
%Europe/Berlin %489 %2005, 12:45
een optie lijkt mij het volgende:

on(press) vervangen door on(rollOver). je hoeft dan helemaal niet meer te klikken of je muis ingedrukt te houden. het is niet wat je vroeg maar een redelijke oplossing dacht ik zo.

spruitje
%Europe/Berlin %514 %2005, 13:20
Dat verandert het probleem niet, je moet telkens de muis actie uitvoeren, en dat is niet de bedoeling, hij moet blijven scrollen, bij ingedrukte muis...

spruitje
%Europe/Berlin %628 %2005, 16:05
HELP! HELP! HELP! :eek:

moflwm
%Europe/Berlin %644 %2005, 16:27
hier kun je wss best een onEnterFrame gebruiken:

on(press) {
_root.foto.onEnterFrame = function () {
// deze code zal telkens opnieuw worden uitgevoerd
moview = 550;
w = _root.foto._width;
speed = 12;
xpos = _root.butlinks;
xpos =xpos-(moview/2);
_root.foto._x = _root.foto._x-(xpos/speed);
}
}

on(release, releaseOutside) {
// zorg ervoor dat die code niet meer uitgevoerd wordt
delete _root.foto.onEnterFrame;
}

succes!
yves

spruitje
%Europe/Berlin %470 %2005, 12:16
Dank je Yves, dit is volgens mij al een heel eind in de goede richting, maar het werkt om een of andere reden (nog) niet.
Je kunt de FLA hier downloaden http://www.luamusic.com/fla's.htm, dan kun je er eens naar kijken als je wilt?

Alleen onder de linkerknop heb ik jouw AS gezet en doet niets, de rechter vertoont wel de scrollactie, maar zoals gezegd niet doorlopend..

Alvast bedankt,
Janot.

Robin
%Europe/Berlin %490 %2005, 12:46
Je framerate staat trouwens op 80??? Heb hem nu op 31 gezet
Export type was flashprojector (flash5)??? Heb hem op flash player 7 gezet

Je kunt onRollOver vervangen door onPress en onRollOut door onRelease als je wilt
acc = 5 //snelheid van scrollen

links_btn.onRollOver = function() {
scroller(-1); // -1 is links
};
rechts_btn.onRollOver = function() {
scroller(1); // 1 is rechts
};
links_btn.onRollOut = rechts_btn.onRollOut=function () {
foto.onEnterFrame = undefined;
};
function scroller(side) {
if (foto.onEnterFrame == undefined) {
foto.onEnterFrame = function() {
foto._x -= acc*side;
};
}
}

spruitje
%Europe/Berlin %521 %2005, 13:31
Alles op export Flash 7 gezet, maar nu werkt niks meer...... :confused:
Wat een gedoe voor zo iets ogenschijnlijk simpels...

mateo)
%Europe/Berlin %555 %2005, 14:20
hmm, moet het wel doen hoor. hier werkt-ie gewoon (vanaf player 6).
ik heb nog een iets simpelere versie voor je meegestuurd...

spruitje
%Europe/Berlin %744 %2005, 18:51
U allen veel dank voor uw hulp, ik heb 'm nu werkende!

spruitje
%Europe/Berlin %647 %2005, 16:31
Ik heb eens rustig nagedacht en het over een andere (veel eenvoudiger) boeg gegooid!
Alles werkt, en zonder 'moeilijke' wiskundige scripts.
Alleen weet ik niet hoe je bij de functie prevFrame() (het terugscrollen) frame 1 van de MC kan laten 'loopen' naar Frame 100 (op de button 'achteruit'). want nu stopt 'ie op
frame 1 ( daar staat op de MC een stop(); omdat het geheel daar stilstaand moet beginnen?

Lijkt me simpel, maar lukt me niet.

Wie helpt?

Het bestand kun je hier downloaden:

http://www.luamusic.com/fla's.htm

Bij voorbaat dank.

Robin
%Europe/Berlin %651 %2005, 16:38
Ik doe dit niet graag... dit is volledig niet mijn aanpak...

maar hier komt ie.... :s
if (vooruit==true){
if (foto._currentframe == 100){
foto.gotoAndStop(1)
}
_root.foto.nextFrame();
}

if (achteruit==true){
if (foto._currentframe == 1){
foto.gotoAndStop(100)
}
_root.foto.prevFrame();
}

en dan de acties op de timeline van foto weghalen...

Nogmaals.. dit is niet de juiste manier :)

spruitje
%Europe/Berlin %680 %2005, 17:19
Wat is niet je aanpak? een bolean gebruiken?

Robin
%Europe/Berlin %683 %2005, 17:24
Wat is niet je aanpak? een bolean gebruiken?
Nee...

Je gebruikt de timeline voor het dynamisch verplaatsen van een mc. Hiervoor is actionscript juist uitgevonden.

spruitje
%Europe/Berlin %401 %2005, 10:38
Nee...

Je gebruikt de timeline voor het dynamisch verplaatsen van een mc. Hiervoor is actionscript juist uitgevonden.

Ok, weer wat geleerd, en daar ben ik hier voor nietwaar?
Desalniettemin, thanx voor de oplossing...!
;)

spruitje
%Europe/Berlin %698 %2005, 17:45
PFFFFFFFF, uiteindelijk toch maar gekozen voor de 'moeilijkere' scroller, die loopt soepeler.
Naar rechts scrollt 'ie mooi tot in het oneindige,
maar naar LINKS (linker button) zit er een GAT ter groote van de stage (700 pix) na 360º scrollen??????? :eek:

Wie helpt mij om te zien welke AS ik hoe moet aanpassen??

Dit was de laatste vraag, daarna hou ik 't voor gezien met dit ding..

Fla is hier te downloaden: http://www.luamusic.com/fla's.htm

Bij voorbaat dank!

Janot.