Курсор (с променлива скорост)
Този урок, ще ви покаже как да си направите собствен курсор за Flash проекта ви. Тук обаче ще предложа вариант не само за обикновен курсор (такива уроци с лопата да ги ринеш), а и за един по-различен курсор, на който може да се задава скорост.

Пример

1. Проверете с колко кадъра в секунда се възпроизвежда проектът ви. Аз лично използвам за всички мои работи 30 fps (frames per second - кадъра в секунда), но всяка стойност над 24 (и не прекалено голяма) е добре. Ако не сте много сигурни какво означава тази стойност - задайте я на 30.

.: Modify > Document... >

.: Frame rate: 30

> Ok

1. Направете един MovieClip, който ще представлява курсорът.

.: Нарисувайте графиката за курсора ви.
.: Modify > Convert to Symbol...

.: Name: Cursor
.: Type: MovieClip
.: Registration: Най-горе вляво. (Всъщност тази точка определя къде ще е активната зона на курсора - тази, с която се натискат бутоните и пр. Обикновено тя е най-горе вляво, но има и изключения. Например ако курсорът ви е във формата на мерник - тогава тази точка (Registration) трябва да е посредата. Помислете - всичко зависи от индивидуалните нужди на потребителя.

> Ok

2. Дайте име на MovieClip-a: cursor_mc.

.: Селектирайте курсора.
.: В панела 'Properties' за име на инстанцията (Instance Name) напишете: cursor_mc

3. В кадър 1 на главната (_root) времедиаграма поставете следния скрипт:

Mouse.hide();
var speed:Number = new Number(20);
cursor_mc.onEnterFrame = function() {
this._x += this._xmouse/(20/speed);
this._y += this._ymouse/(20/speed);
};


4. Тествайте проекта.

.: Control > Test Movie

Интересното на този начин на скриптиране на курсора е, че може да му се зададе скорост. Пробвайте само в този ред:

var speed:Number = new Number(20);


....вместо двайсет да дадете някаква друга стойност на променливата speed (между 0 и 20, без нулата). Например 5. Тествайте отново (стъпка 4). Ще забележете как курсорът се забавя постепенно.

Ако не ви интересува как работи скрипта - за вас урокът свършва тук.

Обяснение на скрипта

Mouse.hide();


Разбира се от самосебе си. Скрива стандартния курсор.

var speed:Number = new Number(20);


Създава променлива от типа Number с име speed и й задава стойност 20. Тази променлива определя скоростта на курсора. Тя трябва да е положително число по-малко от 20. (По-малко от 20 е заради по-нататъшния вид на скрипта, иначе няма ограничения - експериментирайте!)

cursor_mc.onEnterFrame = function() {

//тука е самата фунцкия, която ще обясня след малко

};


Това е началото на една функция, която е присвоена към метод за манипулатор на събитие. Казано по-просто: При всяко настъпване на събитието onEnterFrame (в cursor_mc) ще се изпълнява function - всичко, което е заградено в средни скоби ('{' и '}'). А самата функция е:


this._x += this._xmouse/(20/speed);
this._y += this._ymouse/(20/speed);


Координатите на MovieClip-a се увеличават с координатите на истинския курсор спрямо MovieClip-a. Резултатът от това е, че MovieClip-ът се приближава до курсора. Делението след това служи за да може да се задава скорост на придвижване.

Това е всичко. Успех!

/ Трябва да сте регистриран за да напишете коментар /