Показать сообщение отдельно
Старый 28.10.2008, 22:21   #5
zheland
Разработчик
 
Регистрация: 18.10.2007
Сообщений: 349
Написано 64 полезных сообщений
(для 95 пользователей)
Ответ: Коллизия картинок

1:
Global gfxSparks, frmSparks, tmrSparks 
SetBuffer BackBuffer() 
gfxSparks=LoadAnimImage("c:ProgramFilesBlitzBasicsamplesGraphicsspark.bmp",32,32,0,3) 
MaskImage gfxSparks,255,0,255 
While Not KeyHit(1) 
Cls
If MilliSecs() > tmrSparks + 100 Then 
tmrSparks=MilliSecs()
frmSparks=( frmSparks + 1 ) Mod 3
End If 
DrawImage gfxSparks,MouseX(),MouseY(),frmSparks
Flip
Wend
Это ты из справки переписал , а отредактировал не полностью .

В начале
MaskImage gfxSparks,255,0,255
замени на
MaskImage gfxSparks,0,0,0
Появится маска
Надо маскировать не фиолетовый(255,0,255) цвет, а чёрный(0,0,0)
И вообще замени gfxSparks на Player,
frmSparks на Player_frm.
Player=LoadAnimImage("image\POC.bmp",32,32,0,3)
MaskImage Player,0,0,0
...
If MilliSecs() > Player_frm + 100 Then 
Player_frm=MilliSecs()
Player_frm=( Player_frm + 1 ) Mod 3 
End If 
DrawImage Player,Player_PX,Player_PY,Player_frm
Так будет понятнее и тебе и всем

2:
Заметь, я удалил тогда из текста лишнее.
Изменил порядок изображений ради удобства.
Алгоритм проверки столкновения не идеален, его надо доделывать.

3:
Неплохо двигаешься, нужно набираться опыта.
(Offline)
 
Ответить с цитированием