TopSladur.com - Êîé å íàé-ãîëåìèÿ?
Ïîìîãíè íè äà íàïðàâèì Uroci.net ïî - áîãàò! Äîáàâè óðîê
Êàòåãîðèè Äðóãè óðîöè Adobe Photoshop Adobe Illustrator Adobe Flash
Adobe Fireworks DreamWeaver CSS è HTML Corel Draw Image Ready PHP SEO CMS Microsoft Windows Microsoft Word Microsoft Excel PowerPoint Microsoft Access Microsoft Publisher Linux Visual basic JavaScript Ajax 3ds Max Maya 3D C++ Sound Forge Gimp SWiSH

Ôóòóðèñòè÷íî ìåíþ ñ Flash

accorp   òðóäíîñò:    âèäÿí: 13328

Íàïðàâèõìå îñíîâèòå, âðåìå å äà ñëîæèì áóòîíèòå çà òîï÷åòàòà. Ñúùàòà ïðîöåäóðà êàòî ïðè òîï÷åòàòà, ñàìî ÷å òóê ùå èçïîëçâàìå ïàðàìåòúðà object init, ò.å. îáåêò, êîéòî ùå å êàòî øàáëîí çà íÿêîëêî îáåêòà, â ñëó÷àÿ MovieClip-îâå. Îáåêòà ùå ñå êàçâà init, è âàæíî çà íåãî å äà áúäå äåôèíèðàí, ïðåäè èçïîëçâàíåòî ìó, ò.å. ùå ñå âúðíåì ìàëêî ïî-íàãîðå â êîäà. Çàäàâàìå íà ïðàâîúãúëíèêà _alpha = 0, ò.å. ùå å íåâèäèì. Âå÷å èç÷èñëèõìå k è ïîäðåæäàìå òîï÷åòàòà, òàêà ÷å çà õîðèçîíòàëà ïðîñòî ùå çàäàäåì íà ïðàâîúãúëíèêà ïîçèöèÿòà íà òîï÷åòàòà. Ïî âåðòèêàë ïðîñòî ùå çàäàäåì ñðåäàòà íà ñöåíàòà.
var back:MovieClip = home.attachMovie("btn_back", "back"+i, i+2, init);
back._alpha = 0;
back._x = btn._x;
back._y = Stage.height/2;
Òóê ïàê ñ ÎÎÏ ùå çàäàäåì åäíî ÷èñëî, òîâà ÷èñëî ùå íè ïîìîãíå äà ïðåíàðåäèì òîï÷åòàòà, ùå èçìåñòèì ìàëêî ïàð÷åòàòà íà òîðòàòà.
back.I = i;
È çàòâàðÿìå öèêúëà:
}
Ñåãà ñå âúðíåòå ìåæäó äåôèíèðàíèòå ïðîìåíëèâè, è öèêúëà. Òóê ùå ñëîæèì øàáëîíà çà ïðàâîúãúëíèöèòå, çà êîéòî âå÷å ãîâîðèõìå, ÷å òðÿáâà äà å äåôèíèðàí ïðåäè äà áúäå èçïîëçâàí. Âñúùíîñò ðàáîòàòà íà òîçè øàáëîí å ïðè ìèíàâàíå ñ ìèøêàòà âúðõó íÿêîé áóòîí-ïðàâîúãúëíèê äà èçâåäå ïîðåäíèÿ ìó íîìåð, êîéòî äåôèíèðàõìå ïîñëåäíî â öèêúëà. Ïðåäè òîâà îáà÷å, ùå äåôèíèðàìå îùå íÿêîëêî ïðîìåíëèâè, êîèòî ùå ñà íè íóæíè.
var anchor:Number = 0;
var newAnchor:Number = 0;
var trailer:Number = num;
Ñëåä òîâà è øàáëîíà. Ïúðâîíà÷àëíî trailer å 10, ùå âèäèòå çàùî ïî-êúñíî, íî êîãàòî ìèøêàòà ïîñî÷è íÿêîé áóòîí ïðîìåíëèâàòà ïðèäîáèâà ïîðåäíèÿ ìó íîìåð.
var init:MovieClip = new MovieClip();
init.onRollOver = over;
function over(){
trailer = this.I;
}
Âðåìå å äà íàïðàâèì è îñíîâíàòà ôóíêöèÿ, êîÿòî ùå äâèæè äîï÷åòàòà. Âñúùíîñò òÿ å ìíîãî ñåìïëà. Àêî âñå îùå íå ñòå íàïðàâèëè ôðåéìîâåòå â ñåêóíäà 30-40 ãî íàïðàâåòå. Ñëåä òîâà, ñëåä öèêúëà for èëè ïðåäè íåãî ùå çàïèøåì ôóíêöèÿòà.
Òúé êàòî íè òðÿáâà ïëàâíî äâèæåíèå íàïðàâèõìå fps ïî-ãîëÿìî, à ñúáèòèåòî onEnterFrame èçïúëíÿâà äåôèíèðàíàòà ôóíêöèÿ ìíîãî ïúòè â ñåêóíäà, èëè ïî-òî÷íî - êîëêîòî ñà ôðåéìîâåòå. Ò.å. ôóíêöèÿòà íè ùå ñå èçïúëíÿâà 30 (íàïðèìåð) ïúòè â ñåêóíäà. Òúé êàòî ôóíêöèÿòà íå å ãîëÿìà, ìàêàð è äà èìà öèêúë â íåÿ íÿìà äà çàòðóäíè ìíîãî ïðîöåñîðèòå.
home.onEnterFrame = function(){
Ïðîìåíëèâàòà íè anchor ("êîòâà"), äåôèíèðàõìå ñúñ ñòîéíîñò 0. Êàêâî ñå ïîëó÷àâà âñúùíîñò - òàçè ìàëêà ôîðìóëêà ñå èçïúëíÿâà 30 ïúòè â ñåêóíäà è ïîñòåïåííî anchor ïðèäîáèâà ñòîéíîñòòà íà trailer, êîéòî ïúê ñå ìàíèïóëèðà îò ïîñî÷âàíåòî íà áóòîíèòå. Àêî èçâåäåòå anchor ñ trace ùå âèäèòå ìíîãî ÷èñëà çàêðúãëåíè äî îêîëî îñìèÿ çíàê, ò.å. ìíîãî ïðåöèçíè. Çàäàâàìå ñòîéíîñòòà íà "êîòâàòà" íà newAnchor, êîÿòî âñúùíîñò å âðåìåííà ïðîìåíëèâà, è ñå îêàçâà íåíóæíà àêî ñòå ðàçáðàëè êîäà, àç ÿ ïîëçâàì, çàùîòî òàêà ìè å ïî-óäîáíî.
anchor = anchor + (trailer - anchor)/3;
newAnchor = anchor;
Çàïî÷âàìå íîâ öèêúë. Ïàê îò 0 äî num, èëè êàêòî âèå ñòå ãî íàïðàâèëè, ñòèãà äà å ñúùèÿ êàòî ãîðíèÿ.
for(var i:Number=0; i
Ïðîìåíëèâàòà btn ùå íàìèðà òîï÷åòàòà, êîèòî ñëîæèõìå íà ñöåíàòà, ò.å. íà home. Âúðíåòå ñå â ïðåäèøíè öèêúë, ñ êîéòî ãî ñëîæèõìå è ùå âè ñòàíå ïî-ÿñíî.
var btn:MovieClip = home["btn"+i];
Òóê ùå ïðîìåíèì úãúëà íà âñåêè áóòîí. Èäåÿòà äà å ñå èçìåñòè èíòåðâàëà (i - newAnchor). Âå÷å âèäÿõòå, ÷å ãðàäóñè èíòåðâàëà ìåæäó âñÿêî òîï÷å å òðèäåñåò è øåñò (36) ãðàäóñà, êàòî ïîñî÷èì, äà ðå÷åì âòîðîòî òîï÷å, trailer ïðèäîáèâà ñòîéíîñò 1 è òîðòàòà íå îò 0 äî 360 ãðàäóñà, à îò -36 (ìèíóñ òðèäåñåò è øåñò) äî 324, à êîãàòî ñå ïîñî÷è ïàê ïúðâîòî òîï÷å èíòåðâàëà ñå âðúùà îò 0 ä0 360 (ò.å. îò î äî Ïè * 2). Õóáàâîòî íà ñèíóñ å, ÷å ñòîéíîñòè èçâúí èíòåðâàëà îò 0 äî 360, çàïî÷âà îò íà÷àëî ò.å. -1 -> 1 -> -1 -> 1... áåç äà ñå íàðóøàâà ïëàâíîñòòà, ò.å. òîï÷åòàòà íÿìà äà ñå òåëåïîðòèðàò îò ãîðå äî äîëó èëè îáðàòíî.  ñëåäíàòà ãðàôèêà ìîæåòå äà âèäèòå, êàê ñå èçìåíÿò ñòîéíîñòèòå íà ñèíóñ:
óðîöè - screenshot1.png
btn.angle = (i - newAnchor)*((Math.PI*2)/num);
Çàäàâàìå âåðòèêàëíàòà ïîçèöèÿ ñïîðåä íîâèÿ úãúë.
btn._y = Math.sin(btn.angle)*r + Stage.height/2;

}
}

Àâòîð: accorp


Ñòðàíèöè: «1 2

Êîìåíòàðè (5)

Traseur4o íà 15.09 2007 â 14:20÷.
ìîæå ëè íÿêàêâî äåìî?
komapeb íà 11.12 2007 â 18:41÷.
:) Çäðàâåéòå.
Ïðåäëàãàì òàì êúäåòî çàäàâàìå ïðîìåíëèâà
var r:Number = 80;

äà ïðîìåíèì ÷èñëîòî 80 ñ òîâà:
(Stage.height/2)-(btn._height/2)
...
òàêà ìàêñèìàëíàòà è ìèíèìàëíàòà òî÷êè, êîèòî ìîãàò äà äîñòèãíå îïðåäåëåíî òîï÷å, ùå å ñúîòâåòíî ãîðíàòà è äîëíàòà ÷àñò íà íàøàòà ñöåíà (íåçàâèñèìî îò âèñî÷èíàòà è).
Íàäÿâàì ñå äà ñúì áèë ïîëåçåí :)
grizli íà 06.05 2008 â 14:04÷.
À áå ïè÷, ìíîãî ñà òè ÿêè óðîöèòå, íî òîÿ ñïåöèàëíî ñàìî ñ Àäîá ôëàø ëè ñòàâà? Ïðîáâàì ñ Ôëàø 8, ñúîòâåòíî ïîëçâàì ActoinScript 2.0 è ìè äàâà ãðåøêà ïðè btn._x = btn._width*i + 10*i + k; ')' expected
grizli íà 06.05 2008 â 14:29÷.
Îïðåäåëåíî èìà ãðåøêè â êîäà - ïðè for ëèïñâà çàòâàðÿùà ")", êàêòî è {çà íà÷àëî íà öèêúëà
simeonkata íà 11.05 2008 â 15:48÷.
àáå äàéòå íåêâî äåìî ïëñ?

Ðåãèñòðèðàéòå ñå, çà äà äîáàâèòå êîìåíòàð

ðåêëàìà

© Âñè÷êè ïðàâà çàïàçåíè. 2006-2008. Created by: Site.bg
Ïðåïîðú÷âàìå: IT Íîâèíè | Êèíî è èãðè | Äèïëîìà.áã | Paparak.bg | Òóíèíã Ïîðòàë | uchenik.com | TRAVEL òóðèçúì | Ðåôåðàòè | AmAm.bg | Èäå.ëè | Êóðñîâè ðàáîòè | AnimeS-bg.com | Ôîòî Ôîðóì | Çàïîçíàíñòâà | Ìðåæà îò ïðèÿòåëè | IT Light | Spodeli.net | Ôîòî-Êóëò | Dalavera.net | IDG.BG | Teenproblem.net | mucunki.com | Áëîã - Îáðàçîâàíèå | Fresh-BG.com | Hanovete.com | Bulfleet.com | Mythlands.com | Ohoboho.com | News24 | Êàçàíëúê.Com | Atol.bg | Elmaz.com | MobileBulgaria.com | Setcom.bg