Суббота, 20 Апреля 2024, 06:14

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Среды разработки и Языки разработки игр » Blitz: не могу понять в чём проблема. Подскажите. (помогите мне)
Blitz: не могу понять в чём проблема. Подскажите.
RadragastДата: Среда, 21 Января 2009, 11:00 | Сообщение # 1
уже был
Сейчас нет на сайте
Graphics 800,600
Pers=OpenFile("Pers.txt")
Dim Person$(8)
z$=ReadLine (pers)
Person(0)=z$
CloseFile(pers)
n=LoadAnimImage(person(0),80,80,0,4)
Repeat
x=x+1
If x>3 Then x=0
DrawImage n,200,150,x
Delay 250
Cls
Until KeyHit(1)
End

ошибка возникает на этапе вывода анимации --> DrawImage n,200,150,x , по крайней мере так показывает компилятор.
Если вместо указания массива писать путь, то все работает, но вводить путь для каждого элемента нереально. В чем проблема?

regfreДата: Среда, 21 Января 2009, 14:39 | Сообщение # 2
частый гость
Сейчас нет на сайте
Quote (Radragast)
DrawImage n,200,150,x

тебе кто сказал что так можно писать????


AMD Atholon 3000+
ATIHitechRadeon 9xxx
7Gb RAM | HDD - максимально.|19`дюймов монитор 1600*1200
windows xP/
vergil010Дата: Среда, 21 Января 2009, 14:47 | Сообщение # 3
3D master
Сейчас нет на сайте
Quote (regfre)
Quote (Radragast)DrawImage n,200,150,x тебе кто сказал что так можно писать????

точно, лучше пиши "вывод анимации" biggrin
А если серьёзно, то код действительно некорректный попробуй написать
UpdateWorld
RenderWorld
Flip


skype: vergil010
RadragastДата: Среда, 21 Января 2009, 15:16 | Сообщение # 4
уже был
Сейчас нет на сайте
regfre,
Вообще-то код работает если я вместо
Quote
n=LoadAnimImage(person(0),80,80,0,4)
, напишу
Quote
n=LoadAnimImage(archer_0.jpg,80,80,0,4)
.
vergil010,
а разве
UpdateWorld и RenderWorld
используются в 2D режиме?

Я просто не могу понять элементы матрицы
person(0)="Archer.jpg"
person(1)="piro.jpg"
. . .
person(n)="tiamat.jpg"
не могут быть указателем пути? n=LoadAnimImage(person(0),80,80,0,4)

Сообщение отредактировал Radragast - Среда, 21 Января 2009, 15:24
ghostyalexДата: Суббота, 14 Февраля 2009, 02:05 | Сообщение # 5
частый гость
Сейчас нет на сайте
Если у тебя есть училка то там посмотри может где-то допустил ошибку при написании кода,а именно, посмотри как там ТОЧНО нада выводить анимации,но если ты так уверен что все ТАК должно работать то я не знаю что тебе посоветовать sad

Программу можно переписать,жизнь-нет!
PlazaДата: Воскресенье, 15 Февраля 2009, 19:54 | Сообщение # 6
частый гость
Сейчас нет на сайте
ну так в своём же посте, ты ответил на свой вопрос)
xsnakesДата: Воскресенье, 19 Июля 2009, 14:48 | Сообщение # 7
был не раз
Сейчас нет на сайте
Изоброжение должно быть в формате bmp (bmp потому что другие форматы грузит ток ПроВерсия, если конечто у тебя не Blitz3D =) он грузит все форматы)! Ты Help блитза почитай там все не по русски написано biggrin что:

LoadAnimImage (bmpfile$, cellwidth, cellheight, first, count)

bmpfile = путь к файлу с графикой формата bmp.
cellwidth = ширина в пикселях каждого кадра анимации.
cellheight = высота в пикселях каждого кадра анимации.
first = номер, с которого начать нумерацию кадров (обычно 0)
count = сколько кадров анимации вы хотите загрузить

Quote
; Пример LoadAnimImage/MaskImage
; С таймером анимации

Global gfxSparks, frmSparks, tmrSparks

; Инициализация графики
Graphics 640,480,16
SetBuffer BackBuffer()

; Загружаем анимированную картинку
gfxSparks=LoadAnimImage("c:\Program Files\BlitzBasic\samples\Graphics\spark.bmp",32,32,0,3)

; Делаем фоновый цвет прозрачным
; в этом случае розовый.
MaskImage gfxSparks,255,0,255

; Повторяем до нажатия ESC
While Not KeyHit(1)
Cls ; Очищаем экран

; Меняйте 100 в большую или меньшую сторону
; делая анимацию быстрее или медленнее.
If MilliSecs() > tmrSparks + 100 Then
tmrSparks=MilliSecs() ; сбрасываем таймер
frmSparks=( frmSparks + 1 ) Mod 3 ; увеличиваем счётчик кадров
End If
DrawImage gfxSparks,MouseX(),MouseY(),frmSparks ; рисуем картинку
Flip ; смена буферов
Wend

а на счёт укозателя пути, указывать путь так как ты можно, но что ты тут делал? тут ты допустил ошибку!

Quote
Pers=OpenFile("Pers.txt")
Dim Person$(8)
z$=ReadLine (pers)
Person(0)=z$
CloseFile(pers)

Причем тут это когда ты делаеш дальше совсем другое?
Да и дальше идет ужас! Набор команд у тебя получился


Сообщение отредактировал xsnakes - Воскресенье, 19 Июля 2009, 17:11
Форум игроделов » Движки для разработки игр и сложные системы разработки » Среды разработки и Языки разработки игр » Blitz: не могу понять в чём проблема. Подскажите. (помогите мне)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг