Function UpdateStones()
For i=0 To 20
DrawImage stone(i),xs(i),ys(i)
If ImagesCollide(gert,x,y,frames,stone(i),xs(i),ys(i),0) And col=3 Then
speed=0
x=x-1
EndIf
If ImagesCollide(gert,x,y,frames,stone(i),xs(i),ys(i),0) And col=1 Then
speed=0
y=y+1
EndIf
If ImagesCollide(gert,x,y,frames,stone(i),xs(i),ys(i),0) And col=2 Then
speed=0
y=y-1
EndIf
If ImagesCollide(gert,x,y,frames,stone(i),xs(i),ys(i),0) And col=4 Then
speed=0
x=x+1
EndIf
If ImagesCollide(gert,x,y,frames,stone(i),xs(i),ys(i),0) And col=5 Then
speed=0
x=x+1
y=y+1
EndIf
If ImagesCollide(gert,x,y,frames,stone(i),xs(i),ys(i),0) And col=6 Then
speed=0
x=x-1
y=y+1
EndIf
If ImagesCollide(gert,x,y,frames,stone(i),xs(i),ys(i),0) And col=7 Then
speed=0
x=x+1
y=y-1
EndIf
If ImagesCollide(gert,x,y,frames,stone(i),xs(i),ys(i),0) And col=8 Then
speed=0
x=x-1
y=y-1
EndIf
If ImagesCollide(cursor,MouseX(),MouseY(),0,stone(i),xs(i),ys(i),0) And MouseHit(1) Then
shp(i)=shp(i)-10
EndIf
If shp(i)=0 Then
FreeImage stone(i)
EndIf
Text MouseX(),MouseY(),shp(1)+" "+shp(2)+" "+shp(3)+" "+shp(4)+" "+shp(5)+" "+shp(6)+" "+shp(7)+" "+shp(8)+" "+shp(9)+" "+shp(10)+" "+shp(11)+" "+shp(12)+" "+shp(13)+" "+shp(14)+" "+shp(15)+" "+shp(16)+" "+shp(17)+" "+shp(18)+" "+shp(19)+" "+shp(20)+" "
Next
End Function
И так, у меня опять что-то пошло не так. Эта функция отвечает за прорисовку камней на карте. Они генерируются случайным образом, из-за этого я прибег к переменным. С типами у меня туго, так что мой выбор пал на массивы) В общем, рисуются они хорошо, коллизия конечно не идеально( если подойти к камню и зажать две противоположные клавиши(вверх-вниз, вправо-влево), то главного героя начнёт щемить в камни), но не это главное. Когда я решил сделать так, чтобы при нажатии
мыши на камень десять раз, он разрушался. Как-раз тут и начались проблемы. Если отслеживать переменную "shp" которая отвечает за "жизни" камней, то она будет отниматься, но не должным образом. Она отнимается то ли с каким-то шансом, то ли в какое-то время. В общем мне нужна ваша помощь в двух вещах:
1). Помогите найти ошибку.
2). Допустим, всё-таки я уничтожу этот камень функцией FreeImage. Но когда цикл начнётся заново, то на функции DrawImage он остановится, из-за того, что данного изображения больше не существует
Так что пожалуйста, помогите и с этой проблемой.