Показать сообщение отдельно
Старый 28.07.2007, 23:59   #11
Raiter
Гигант индустрии
 
Регистрация: 04.08.2006
Сообщений: 2,642
Написано 53 полезных сообщений
(для 92 пользователей)
Re: Анимация (и еще пару вопросов)

Может я и ошибаюсь, но блиц гиф анимацию не воспроизводит...

LoadAnimImage юзается для анимационной ленты...

LoadAnimImage Изображение,ширина "кадра", высота "кадра", номер первого кадра ( 0 ), общее количество кадров

Отсчет кадров идет с 0. Тоесть 1 кадр = 0, 2 кадр = 1 и т.д

Для вывода изображения на экран юзаем DrawImage изображение, позиция X, позиция Y, кадр

Вот пример. Анимационная лента из 3 кадров (лежит в аттаче). При нажатии пробела, меняем кадр на следующий, при достижении предела кадров меняем на первый.

Graphics 800,600,32,1
SetBuffer BackBuffer()

Image = LoadAnimImage("animimg.png",64,64,0,3)
Frame = 0

While Not KeyDown(1)

If KeyDown(57) Then
	Delay(100)
	Frame = Frame + 1
	If Frame > 2 Then Frame = 0
End If

DrawImage Image,100,100,Frame

Flip
Cls
Wend
еще вопросик: можно ли сделать чтобу в общем цыкле (который идет бесконечно) некоторые команды прокрутились только один раз?
Очень просто. Вводиш переменную, которая будет отвечать за то, выполнилась уже эта команда или нет. В цыкле проверяем переменную. Если = 0, значит выполняем команду и меняем значение переменной на 1 (команда выполнена)... Вот и всё

Graphics 800,600,32,1
SetBuffer BackBuffer()

Image = LoadAnimImage("animimg.png",64,64,0,3)
Frame = 0

ChangeFrame = 0

While Not KeyDown(1)

If ChangeFrame = 0 Then  
    Frame = Frame + 1
    ChangeFrame = 1
End If

DrawImage Image,100,100,Frame

Flip
Cls
Wend
(Offline)
 
Ответить с цитированием