Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Портал .::2BakSa.WS::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Веб - Программирование > Java Script

Уважаемые пользователи nowa.cc и 2baksa.ws. У нас сложилось тяжёлое финансовое положение. Мы работаем для вас вот уже более 15 лет и сейчас вынуждены просить о помощи. Окажите посильную поддержку проектам. Мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: 826074280762 Webmoney WME: 804621616710
PayPal PayPal_Email E-mail для связи по вопросу помощи
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!
Ответ
 
Опции темы Опции просмотра Language
Старый 15.09.2010, 19:51   #1
Новичок
 
Пол:Женский
Регистрация: 15.09.2010
Сообщений: 1
Репутация: 0
Question анимация на canvas

PHP код:
function Elevator(x,y,sx,sy,color,context) {
    
this.x;
    
this.y;
    
this.sx sx;
    
this.sy sy;
    
this.color color;
    
this.context context;
};
Elevator.prototype.show = function() {
    
this.context.clearRect(0,0,500,500);
    
this.context.fillStyle this.color;
    
this.context.fillRect(this.x,this.y,this.sx,this.sy);
    return 
0;
};
Elevator.prototype.animation_up = function() {
    if (
this.100 >= 0) {
        for (var 
0100i++) {
            
this.this.1;
            
//-------------------
            
this.show();
        };
        return 
0;
    };
    
this.show();
    return 
0;
}; 
в js я новичёк
нужно сделать анимацию на canvas
код рабочий, просто не анимирует перемещение
как я прочитал, никаких аналогов sleep() в js нет, выходит нужно применить как-то settimeout/setinterval, но я никак не могу придумать как
мб кто-нить подскажет, или предложит как реализовать анимацию по-другому.
заранее спасибо
hatalsky вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама: Рекомендуем гипермаркет КНС.ру - монитор 24 - билеты на футбол в подарок каждому покупателюned litened 50-25 rwнапольные подставки для цветов металлическиепальцемер ювелирный купитьчетыре картины любви спектакль театр на таганке


Старый 15.07.2011, 14:46   #2
dust999
Неактивный пользователь
 
Пол:Мужской
Регистрация: 15.07.2011
Сообщений: 10
Репутация: 2
По умолчанию Re: анимация на canvas

Ты должен просто вызывать функцию отрисовки обекта через какой то интервал времени(это и есть анимация).
А параметры отображения объекта хранишь в внешней глобальной переменной height=0 там же хранишь если требуется глобальную переменную старта и конца anim=false, иначе у тебя будет бесконечная анимация

Алогритм следующий:

1. Проверяешь начата if (anim==true){
Если да то сет интервалом вызываешь функцию отрисовки туда передаёшь координаты лифта своего.

2. в конце функции увеличиваешь перемещение на 1 height+=1; или несколько пикселей (дробные лучше не использовать) и проверяешь не ушёл ли лифт за границы видимости или не достиг ли он нужной высоты

если он ещё движется то ничего не делаешь эта функция будет вызывать сама себя пока лифт не доедет.
если он в нужной точки ставишь глобальной переменной anim=false;

и он просто не будет бльше вызывать эту функцию с отрисовкой и лифт замрёт где надо.
dust999 вне форума
 
Ответить с цитированием Вверх
Ответ


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
3D Canvas-программа для трехмерного моделирования Eugenius_V Графика 3 14.11.2013 09:52
Анимация Мастер 15.0D Postality 3D графика 2 13.11.2008 02:00
Анимация fxMS Аниме-Анимешки/Flash 20 12.10.2008 07:41

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 01:36. Часовой пояс GMT +3.


Copyright ©2004 - 2024 2BakSa.WS

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.13701 секунды с 11 запросами