forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Вопрос-Ответ (для новичков) (http://forum.boolean.name/showthread.php?t=7886)

Hurrit 09.11.2009 13:03

Ответ: Вопрос-Ответ (для новичков)
 
Массив-это как бы база данных. Массив имеет свой размер. В каждую ячейку массива можно запихать практически всё, от цифры до модели. Затем обращаться к нему, как к обычной переменной. Вот представь, у тебя есть шкаф, где 20 ячеек. Ты можешь в любую ячейку что то положить, и ты знаешь в какую именно ячейку ты ложишь. Потом ты эту ячейку можешь освободить сразу, не перебирая все ячейки подряд. Короче, массив, это некая база данных, каждая ячейка массива имеет свой номер и может содержать любую информацию, и может быть изменена отдельно. Надеюсь понятно

Dream 10.11.2009 04:10

Ответ: Вопрос-Ответ (для новичков)
 
в массив который предназначен для чисел слово не запихнёшь;))

Max Payne 13.11.2009 17:46

Re: Вопрос-Ответ (для новичков)
 
Столкнулся с такой проблемой.. пытаюсь переместить обьект (PositionEntity) но на пути есть стена (Colissions) и 1 обьект всегда упираеться в эту стену ... есть ли каккая нибудь команда которая перемещает обьект в нужное место не учитывая столкновения или как выйти из такой ситуации?

Dzirt 13.11.2009 17:53

Ответ: Вопрос-Ответ (для новичков)
 
Сначала перемещай обект..потом прописывай колизии....если нужно во время выполнения програмы...то просто не прописывай колизии обекта со стенкой....

tormoz 13.11.2009 18:44

Ответ: Re: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от Max Payne (Сообщение 124882)
Столкнулся с такой проблемой.. пытаюсь переместить обьект (PositionEntity) но на пути есть стена (Colissions) и 1 обьект всегда упираеться в эту стену ... есть ли каккая нибудь команда которая перемещает обьект в нужное место не учитывая столкновения или как выйти из такой ситуации?

EntityType entity,0 выключит коллизию, после чего перемещай, птом опять включай

Max Payne 14.11.2009 13:13

Re: Вопрос-Ответ (для новичков)
 
можно ли какой нибудь командой удалить сразу все обьекты и все условия.. надо чтоб по нажатию клавиши удалялась абсолютно все и программа запускалась заново или допустим переходило на Метку ( с таким условие что преведущая часть программы которая уже выполнилась не учитывалась...

jimon 14.11.2009 13:16

Ответ: Вопрос-Ответ (для новичков)
 
Max Payne
ручками всё очищай, сразу вправишь себе и стиль программирования и качество кода

pitonms 15.11.2009 19:14

Ответ: Вопрос-Ответ (для новичков)
 
Как можно реализовать переход на другой уровень ???

Hurrit 15.11.2009 19:19

Ответ: Вопрос-Ответ (для новичков)
 
Очищай мир от всего, и загружаешь нужный уровень.

Nex 16.11.2009 07:31

Ответ: Вопрос-Ответ (для новичков)
 
Было уже... > переход между уровнями...

Nex 16.11.2009 17:33

Ответ: Вопрос-Ответ (для новичков)
 
А можно ссылочку где можно про массивы прочитать (только желательно, что бы к Блитзу чем нибудь относились, а то в с++ наверно другие массивы)? А то я сделал карту из тайлов и вот не знаю, как все тайлы перебрать и найти тот на который направлен курсор. :-)

H@NON 16.11.2009 17:43

Ответ: Вопрос-Ответ (для новичков)
 
есть двумерный массив, заполненный тайлами
dim massiv(10, 10)
Перебор обычным циклом :
For x = 0 to 10
For y = 0 to 10
massiv(x, y) = ...
next
Next

Nex 16.11.2009 18:06

Ответ: Вопрос-Ответ (для новичков)
 
H@NON, это я уже давно понял. Я не могу понять, как узнать на какой тайл курсор направлен... :(

H@NON 16.11.2009 21:10

Ответ: Вопрос-Ответ (для новичков)
 
ну что просил, то и получил.
А на счет курсора, то можно привязать позицию тайла на экране с его позицией в массиве, например так :
center_x = 5
center_y = 5
step = 20
Dim massiv

For x = 0 to 4
for y = 0 to 4
DrawImage massiv(x,y), center_x + x*Step, center_y + y*Step
Next
Next
;---- получение ячейки массива под курсором
sector_mouse_x = Floor( (MouseX() - center_x) / step )
sector_mouse_y = Floor( (MouseY() - center_y) / step )

Nex 17.11.2009 12:52

Ответ: Вопрос-Ответ (для новичков)
 
А вот у меня нубский вопрос... Как проиграть звук один раз при постоянном цикле? А именно надо, что бы при наведении на картинку проигрался звук один раз. (см. код)
Код:

Function RefreshButtonImage (ImBtn,x,y,n,)
        If RectsOverlap (x-ImageWidth(ImBtn)/2,y-ImageHeight(ImBtn)/2,ImageWidth(ImBtn),ImageHeight(ImBtn),MouseX(),MouseY(),1,1) Then
                PlaySound (s_select)
                If MouseHit (1) Then
                        Buttons(n)=1
                EndIf
        EndIf
                iDrawImage ImBtn,x,y
End Function



Часовой пояс GMT +4, время: 20:58.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot