Помогите c Dark Basic
AGENTX001 Дата: Понедельник, 04 Апреля 2011, 16:52 | Сообщение # 1
почётный гцупер
Сейчас нет на сайте
Всем привет! Я недавно начал осваивать дарк,возниквопрос со столкновениями спрайтов. (Я делаю 2д игру)
Code
sync on sync rate 60 load image "tank.png", 1 : load image "block.png", 2 sprite 1, tankx, tanky, 1 : OFFSET SPRITE 1, 25, 25 sprite 2, 25, 25, 2 tankx = 100 : tanky = 100 : move = 1 do cls 0 sprite 1, tankx, tanky, 1 : paste sprite 2, 25, 75 if move = 0 then move = 1 if upkey () = 1 if rightkey () = 1 then move = 0 if leftkey () = 1 then move =0 endif if downkey () = 1 if rightkey () = 1 then move = 0 if leftkey () = 1 then move =0 endif if upkey () = 1 if move = 1 tanky = tanky - 1 : rotate sprite 1, 0 if sprite hit (1, 2) = 0 then tanky = tanky if sprite hit (1, 2) = 1 then tanky = tanky + 1 endif endif if downkey () = 1 if move = 1 tanky = tanky + 1 : rotate sprite 1, 180 if sprite hit (1, 2) = 0 then tanky = tanky if sprite hit (1, 2) = 1 then tanky = tanky - 1 endif endif if rightkey () = 1 if move = 1 tankx = tankx + 1 : rotate sprite 1, 90 if sprite hit (1, 2) = 0 then tankx = tankx if sprite hit (1, 2) = 1 then tankx = tankx - 1 endif endif if leftkey () = 1 if move = 1 tankx = tankx - 1 : rotate sprite 1, 270 if sprite hit (1, 2) = 0 then tankx = tankx if sprite hit (1, 2) = 1 then tankx = tankx + 1 endif endif sync loop
+ будет Добавлено (04.04.2011, 16:52) --------------------------------------------- Ну нарррод!!!
Azver Дата: Понедельник, 04 Апреля 2011, 21:10 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
Тебе нужен не sprite hit , а sprite collision .
AGENTX001 Дата: Понедельник, 04 Апреля 2011, 22:02 | Сообщение # 3
почётный гцупер
Сейчас нет на сайте
Azver , спс, шас попробую!Добавлено (04.04.2011, 22:01) --------------------------------------------- Ага, что-то получается(= Но танк сталкивается только с теми блоками, которые были созданы функцией sprite , а те которые вставляю с помощью paste sprite он игнорирует. И танк как-то застряёт((
Добавлено (04.04.2011, 22:02) --------------------------------------------- Поможеш?
Azver Дата: Понедельник, 04 Апреля 2011, 22:26 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
paste image просто отрисовка изображения на экране, а вот sprite это 3d плашки, поэтому 2д коллизии можно осуществить только с ними. Танк застревает так как у тебя это не скользящие коллизии, для них нужно юзать внешние библиотеки физики или самому извращаться со стандартными командами.
AGENTX001 Дата: Понедельник, 04 Апреля 2011, 22:31 | Сообщение # 5
почётный гцупер
Сейчас нет на сайте
Quote (Azver )
paste image просто отрисовка изображения на экране, а вот sprite это 3d плашки, поэтому 2д коллизии можно осуществить только с ними.
У меня Quote (AGENTX001 )
paste sprite
Quote (Azver )
нужно юзать внешние библиотеки физики или самому извращаться со стандартными командами
А ссылочку неполучиться подкинуть? Пожалуйста...
Azver Дата: Вторник, 05 Апреля 2011, 16:25 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
Quote (AGENTX001 )
paste sprite
Не подходит для использования коллизий, так как он дублирует уже созданный спрайт и тупо его отображает в точке на экране. Так что создавай столько спрайтов сколько надо.
Quote (AGENTX001 )
А ссылочку неполучиться подкинуть? Пожалуйста...
Поищи на TGC, я с таковыми не сталкивался.