Помогни ни да направим Uroci.net по - богат! Добави урок

Обикновена Flash галерия

accorp   трудност:    видян: 25213



Дефакто, нашата галерия е готова, като изключим допълненията към нея... и дизайна. : )
На дизайн не мога да ви уча, но ще се опитам да ви обясня някой от най-важните допълнения.
Върнете се към стъпка 2.5. Без този preloader, преди да се е заредила картинката флаша просто ще „виси” без видима индикация, че нещо се зарежда. В случая вашата картинка.

5 Preloader. Тук тънкостта е, че preloader-a трябва да е в самия флаш и да е насочен към зарежданите от нас картинки, а не както обикновено – за самия флаш.

5.1 Направете нов слой и го кръстете “preloader” (много странно, наистина :) ). Тъй като на първия фрейм няма да се зарежда нищо, сложете Key Frame на втория (2) фрейм. Там нарисувайте една лента дълга 176 и висока (широка) 17.

5.2 След като се уверите, че сте маркирали тази лента натиснете F8 изберете Movie Clip. На този етап Registration Point е без значение. Чукнете два пъти с мишката на готовия Movie Clip за да влезте в Edit Mode. Прекръстете слоя (Layer 1) с “main”.

5.3 Направете нов слой. Кръстете го “bar”. На него направете нова лентичка малко по-голяма от тази на основния слой. Маркирайте тази лента и натиснете F8, изберете Movie Clip, а Registration Point задължително да е в ляво по средата. За име сложете “preload_bar_mc”.

За Instance Name на тази лента напишете preloader_bar.

5.4 Направете трети (3) слой и му сложете име “shape”. На него направете лента с произволен цвят, а големинат да е същата както на слоя “main”, но без border-и.

Лентите от слоеве “main” и “shape” трябва да съвпадат като местоположение, а лентата (която направихме Movie Clip) трябва да покрива площа им, т.е. може да излиза от страни, но други ленти трябва да се впишат в площа на Movie Clip-a.

5.5 Сега натиснете с дясното копче на мишката върху слоя “shape” и изберете Mask.

Сега се върнете обратно на сцената (в панела Timeline има надпис Scene 1, натиснете него).
Маркирайте слоя Preloader и в Action Panel-a (F9) сложете следния код:

preloader.onEnterFrame = function() {
filesize = loadpic.getBytesTotal();
loaded = loadpic.getBytesLoaded();
preloader._visible = true;
if (loaded != filesize) {
preloader.preload_bar._xscale = 100*loaded/filesize;
} else {
preloader._visible = false;
if (loadpic._alpha<100) {
loadpic._alpha += 10;
}
}
};

5.6 Сега слоя “preloader” го направете изцяло в ключови фреймове (маркирате от панела Timeline и натискате F6).

Съвет: Тъй като такъв тип галерия е доста ресурсоемка не правете твърде много фреймове.
Идея: На първи фрейм може да сложите, така наречените thumbnails бутони, които да водят към съответния фрейм.
Isn’t it nice when things just… work? : )
Добавил: [ accorp ].


Страници: «1 2 3

Сподели урока:



Коментари (8)

^`^isi^`^ на 13.11 2006 в 23:08ч.
Може ли да дадете линк да видим какво се получава? TY
accorp на 14.11 2006 в 13:58ч.
http://store4.data.bg/accorp/temp/gallery/ - Ето от тук може да се види подобна галерия.
Принципът е същия, но дизайна е малко променен :)
Gam3r43 на 21.03 2007 в 12:37ч.
Едно не ми стана ясно тия скриптове каде да ги пишем нали цъкаме на бутона за следваща снимка а там пише key frame 1,key frame 2 и т.н.Та на самите фреймове ли да ги пишем или на бутона и ако е на фреймовете то поне посочете на layer
canon4o на 14.07 2007 в 22:50ч.
Gam3r43 тези кодове се пишат в Action Panel-а (като се натисни F9 той излиза и там се пишат)
grizli на 05.05 2008 в 02:25ч.
И аз искам линк за резултата - този не работи - you have no permission
simeonkata на 11.05 2008 в 16:06ч.
моля линк ако може линка в датабг не работи :(
smoka97 на 20.07 2008 в 17:09ч.
може ли едно демо
da4ka13 на 27.08 2008 в 12:39ч.
Защо просто не използвате prevFrame() и nextFrame() за смяната на кадрите и една променлива за името на исканата снимка, която да се обновява от Stage.currentframe.
И това го правите на 1-я кадър и после само копирате кадрите до колкото снимки искате.

Регистрирайте се, за да добавите коментар


Калдейта Ком ЕООД - © 2003-. Всички права запазени.
Препоръчваме: IT Новини