Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Dade, dade

Parola la lock screen

Deparazitare externa pisici fara ...

Seriale turcesti/coreene online H...
 Merita un Termostat Smart pentru ...

Sfat achizitie MTB Devron Riddle

Problema mare cu parintii= nervi ...

switch microtik
 Permis categoria B la 17 ani

Sfaturi pentru pregatirea de eval...

Crapaturi placa

cum imi accesez dosarul electroni...
 Momentul Aprilie 1964

Sursa noua - zgomot ?

A fost lansat Ubuntu 24.04 LTS

Pareri apartament in zona Berceni?
 

[AS3] script repeat button

- - - - -
  • Please log in to reply
1 reply to this topic

#1
bogdan90i

bogdan90i

    Junior Member

  • Grup: Members
  • Posts: 50
  • Înscris: 31.01.2008
Buna ziua,

    Am facut si eu un mini script pentru slide menu. Totul merge perfect, dar daca tin mouse-ul in partea dreapta meniul se duce in stanga aratand butoanele din dreapta iar la ultimul buton se opreste. Ceea ce vreau eu sa fac este urmatorul lucru. Cand ajunge la ultimul buton sa nu se opreasca sa continue cu primul. Ceva gen bucla. Cand ajunge la ultimul reia adica:
1->2->3->4->5->1->2->3->etc. acesta este codul:

import mx.transitions.Tween;
import mx.transitions.easing.*;

this.createEmptyMovieClip("container",1);

var imagesNumber:Number = 10;
var urlArray:Array = new Array("", "page.html", "page.html", "page.html", "page.html", "page.html", "page.html", "page.html", "page.html", "page.html", "page.html");
for (i=1; i<=imagesNumber; i++) {
container.attachMovie("thumb"+i,"thumb"+i+"_mc",i);
myThumb_mc = container["thumb"+i+"_mc"];

// This adds a variable to the movieclip.
// That variable (_url) contains the URL from the array above.

myThumb_mc._link = urlArray[i];
myThumb_mc._x = (i-1)*myThumb_mc._width;
myThumb_mc._y = (Stage.height-myThumb_mc._height)/2;
myThumb_mc.onRelease = function() {
getURL(this._link);

};

}

container.onEnterFrame = function() {
this._x += Math.cos((-_root._xmouse/Stage.width)*Math.PI)*13;
if (this._x>0) {
this._x = 0;

}

if (-this._x>(this._width-Stage.width)) {
this._x = -(this._width-Stage.width);

}

}; 


#2
sergiu_spooky

sergiu_spooky

    Senior Member

  • Grup: Senior Members
  • Posts: 3,738
  • Înscris: 23.06.2006
Dacă nu există moment în care ai vizibile toate butoanele atunci e simplu. În momentul în care un buton iasă afară din "scenă" (partea în care sunt vizibile) prin partea stângă (deci mouse-ul e în partea dreaptă), îl muți în partea dreaptă extremă a lanțului de butoane (chiar dacă e în afara scenei). Pentru situația opusă (mouse-ul e în partea stângă) folosești același sistem. Butonul pe care îl muți în partea opusă a lanțului e tot timpul "primul" așa că e destul de ușor.
Se poate implementa în mai multe feluri.
Partea comună e un if care verifică în ce direcție se mișcă meniul (după poziția mouse-ului), adică _root._xmouse > Stage.width/2.
Apoi în funcție de direcție verifici care e primul buton. În situația în care meniul se mișcă spre stânga, primul buton va fi cel mai din stânga, adică cel cu id-ul 0 din loop-ul în care le creezi ("thumb1_mc").
container["thumb"+prim+"_mc"]._x = container["thumb"+ultim+"_mc"]._x + container["thumb"+ultim+"_mc"]._width;
Unde prim și ultim sunt două variabile pe care inițial au valorile 1 respectiv imagesNumber.
Din moment ce ai mutat butoanele e evident că data viitoare când se va încerca aceeași mutare butoanele nu vor mai fi aceleași, adică valorile prim și ultim, asta înseamnă că imediat după o mutare trebuie să modifici valorile astea, și anume ultim = prim și prim++.
Evident, înainte de a face incrementa valoarea lui prim trebuie să verifici să nu fi depășit cumva numărul de butoane (adică imagesNumber), adică situația în care întreg meniul a făcut un ciclu complet. Dacă prim > imagesNumber atunci ultim = prim și prim = 0!
Cam asta e totul, evident cu modificările de rigoare pentru situația în care meniul se deplasează spre dreapta și în care schimbarea se face de la ultim la prim, folosind aceleași variabile evident.

Spor la treabă! ;)

Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate