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)

Mhyhr 27.10.2009 23:03

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

Hurrit 28.10.2009 15:15

Ответ: Вопрос-Ответ (для новичков)
 
Ну попробуй прописать в цикле примерно так:
If raketa<>0 then
PointEntity raketa,cel
MoveEntity raketa,0,0,1
Endif

Petrofan 28.10.2009 15:23

Ответ: Вопрос-Ответ (для новичков)
 
Допустим у меня игрок создан типом и бот тоже тип. Как допустим сделать PointEntity бота на игрока. Хочу попробовать сделать пару видов интеллекта которые без проблем можно будет подключить к любому проекту где требуются мозги.

Mr_F_ 28.10.2009 15:30

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

Допустим у меня игрок создан типом и бот тоже тип. Как допустим сделать PointEntity бота на игрока.
pointentity bot\model,player\model ? o_0
какие проблемы то

--
for b.bot=each bot
Bot_Point(b,playa)
next

function Bot_Point(b.bot,p.player)
pointentity b\model,p\model
end function

NitE 28.10.2009 15:32

Ответ: Вопрос-Ответ (для новичков)
 
for b.bot = each bot
for p.player = each player
poinentity b\mesh, p\mesh
next
next

Цитата:

If raketa<>0 then
да, это главное, а то вдруг ещё ничего полетит

IGR 28.10.2009 15:39

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

for b.bot = each bot
for p.player = each player
poinentity b\mesh, p\mesh
next
next
не так не катит !! :)

tormoz 28.10.2009 20:20

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

SKA_DIMKA 28.10.2009 20:25

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

Сообщение от Petrofan (Сообщение 122791)
Допустим у меня игрок создан типом и бот тоже тип. Как допустим сделать PointEntity бота на игрока. Хочу попробовать сделать пару видов интеллекта которые без проблем можно будет подключить к любому проекту где требуются мозги.

Как мне кажется, при реализации этого вопроса тебе нужно задавать проверку в типе бота иль той же самоаводящейся ракеты, вот к примеру:
Код:

Type bot
Field model,health,find_player
EndType

for new.bot = each bot
if entitydistance(new.bot\model,player) < 10 ;Можно еще условия к примеру относительно поворота, видимости бота к игроку
new.bot\find_player=1
else
new.bot\find_player=0
endif

If new.bot\find_player=1
find_player(new.bot\model)
else
search_player(new.bot\model)
endif
Next

Function find_player(bot)
функция при которой бот преследует игрока, атакуя его(пример)
EndFunction

Function search_player(bot)
функция при которой бот исследует окружающий мир,ищет цель, просто бегает к примеру, рандомно поворачивается, отталкивается от стен
EndFunction

Вот что то подобное в ближайшем времени кодить буду, но более насыщенно в плане условий и тд)

Ky3R_94 30.10.2009 20:31

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

Fatalix3d 04.11.2009 13:49

Ответ: Вопрос-Ответ (для новичков)
 
Как сделать ночное время суток!? Использую Fastextension glow+shadows direct light своего рода солнце, так как я не настраивал этот источник света у меня всегда яркое освещение как быть кто сталкивался? Пробовал кто?

Nex 04.11.2009 14:21

Ответ: Вопрос-Ответ (для новичков)
 
Вложений: 1
Как сделать эффект лазера, как на картинке? (Пятно на стене не нужно. Как именно сам луч сделать? :))

Fatalix3d 04.11.2009 14:47

Ответ: Вопрос-Ответ (для новичков)
 
Наверно создаем полигон начальные две вершины его находятся возле источника а вторые вершины располагаем по координаторам pick mesh'a .

Hurrit 04.11.2009 15:13

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

Dzirt 04.11.2009 15:42

Ответ: Вопрос-Ответ (для новичков)
 
Я бы предпочел акуратно подстроить качественный спрайт.

Hurrit 04.11.2009 16:08

Ответ: Вопрос-Ответ (для новичков)
 
При растяжки спрайта, он может выглядит некрасиво, так как качество теряется

Dzirt 04.11.2009 17:28

Ответ: Вопрос-Ответ (для новичков)
 
Нууу,не согласен. Если у тебя картинка скажем 128*256 то ты можешь (а вернее должен) ростянуть спрайт в соотношении 2(высота)к 1(ширина) ...Дефектов не будет,и смотрется будет красиво.....если немного поработать с цветами и еффектами то фотореалистичности добится можно совсем легко.
+ данный метод скорее всего будет жрать ресурсов намного меньше остальных
+ не факт что вообще что то нужно будет ростягивать....но здесь уже все зависит от ситуации.

Hurrit 04.11.2009 18:08

Ответ: Вопрос-Ответ (для новичков)
 
Аха, и получится, чем дальше мне надо будет напрявлять лазер, тем толще он будет становится. Да и если я не ошибаюсь, так скоро можно и пиксели рассмотреть. А создание цилиндра, думаю, страшно много ресурсов не слушает, может даже меньше чем использовать спрайт. Но это всё ИМХО. Может, когда нибудь проверю оба варианта

IGR 04.11.2009 18:15

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

Nex 05.11.2009 11:24

Ответ: Вопрос-Ответ (для новичков)
 
Лазер я не много сделал. )
Щас вот понадобилось сделать "гравитацию" для миномета (надеюсь поняли :-D) и вот у меня не получается. Дайте плиз формулу (я пробовал делать дистанция_до_цели*скорость, но сильно не точно получается и снаряд иногда назад летит). :)

NitE 05.11.2009 17:35

Ответ: Вопрос-Ответ (для новичков)
 
ниче не понятно, если надо чтобы снаряды летели как пушечные ядра всего-то и надо что запускать их с определенной скоростью по определённому вектору и потом циклично убавлять значегие Y

Nex 06.11.2009 08:33

Ответ: Вопрос-Ответ (для новичков)
 
А можно формулой? :) И я сделал робота с минометом и при выстреле снаряд должен прилететь туда, куда тыкнул мышкой, а миномет находится за спиной в фиксированном положении :-)

Hurrit 06.11.2009 10:38

Ответ: Вопрос-Ответ (для новичков)
 
Ищи инфу про баллистику

Dream 06.11.2009 13:21

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

А можно формулой? И я сделал робота с минометом и при выстреле снаряд должен прилететь туда, куда тыкнул мышкой, а миномет находится за спиной в фиксированном положении
Физика 8 класс

Nex 06.11.2009 13:25

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

jimon 06.11.2009 13:40

Ответ: Вопрос-Ответ (для новичков)
 
SkyDream
http://phys.problems.ru/files/Urok5.pdf
(хех а в универе эту формулу без двойного, а иногда и тройного интеграла не пишут)

Mr_F_ 06.11.2009 15:21

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


Цитата:

SkyDream
http://phys.problems.ru/files/Urok5.pdf
(хех а в универе эту формулу без двойного, а иногда и тройного интеграла не пишут)
ооо, джимон, а у тебя нет алгебры класса с пятого?) надо вспомнить


jimon 06.11.2009 16:01

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

Mr_F_
ну всё же, есть люди которые просто хорошо занимаются другими вещами, музыкой например, им особо в математику вникать не нужно, есть люди которые ничем не занимаются и тупо спустили в унитаз 5-10 лет своей жизни, если их немного толкнуть и поставить на правильный путь то они с помощью силы воли (если вразумятся) смогут и сами догнать своё развитие (конечно 10 лет жизни невосполнимы, но сидеть и ничего не делать еще хуже), зачастую лучше дать просто пищу для размышлений и человек сам дальше пойдет, но иногда случается так что человек просто смирился со своей тупостью и не хочет идти дальше - я таких людей просто посылаю, как бы шанс использовал и иди себе куда хочешь

а насчёт формул, конечно интегралы от ускорения это просто, но формулы помнить не нужно, нужно понимать их смысл, а сами формулы просто выводятся из очень ограниченного количества аксиом, как их выводить учат в курсе физики любых вменяемых факультетов, чисто школьная программа даже и капли понимания не вносит в суть описываемых процессов

Mr_F_ 06.11.2009 16:33

Ответ: Вопрос-Ответ (для новичков)
 
пост был полность серьёзный - я недавно пытался понять один папер но оказалось что забыл что такое производные, пределы итд) не помню в каком классе это было но помню что было
Цитата:

интегралы от ускорения это просто
я даже хз что это

Nex 09.11.2009 12:00

Ответ: Вопрос-Ответ (для новичков)
 
Расскажите, пожалуйста, как делать инвентарь через типы(!) ну или хотя бы дайте код.
На цетере смотрел статьи, но не осилил потому что там с использованием массивов, а я так и не понял, что есть массив и как им пользоваться... :(

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


H@NON 17.11.2009 12:59

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

Ky3R_94 20.11.2009 19:34

Ответ: Вопрос-Ответ (для новичков)
 
введи дополнительные переменные типа buttonselected и previousbutton. при наводке на кнопку даёшь первой переменной значение номера кнопки. потом если ни одной кнопки не выбранно, то пиши 0. затем делаем проверку: if buttonselected<>previousbutton then previousbutton=buttonselected: playsound sound

Данил 21.11.2009 14:48

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

Цитата:

Function RefreshButtonImage (ImBtn,x,y,n,)
If RectsOverlap (x-ImageWidth(ImBtn)/2,y-ImageHeight(ImBtn)/2,ImageWidth(ImBtn),ImageHeight(ImBtn),MouseX(),Mo useY(),1,1) Then
If a = 0 then PlaySound (s_select); a = 1
If MouseHit (1) Then
Buttons(n)=1
EndIf
EndIf
iDrawImage ImBtn,x,y
End Function
эм? проиграется всего один раз. а если надо сделать , чтобы потом еще проигрывалось - можно таймер поставить. ну, или :

Цитата:

Function RefreshButtonImage (ImBtn,x,y,n,)
If RectsOverlap (x-ImageWidth(ImBtn)/2,y-ImageHeight(ImBtn)/2,ImageWidth(ImBtn),ImageHeight(ImBtn),MouseX(),Mo useY(),1,1) Then
If a = 0 then PlaySound (s_select); a = 1
If MouseHit (1) Then
Buttons(n)=1
EndIf
Else
a=0
EndIf
iDrawImage ImBtn,x,y
End Function

Nex 22.11.2009 12:37

Ответ: Вопрос-Ответ (для новичков)
 
Со звуком разобрался. Заметил один баг с кнопками. Если кликнуть мышкой в любом месте экрана и навести на любую кнопку, то кнопка нажмется. FlushMouse пробовал, но или не нажимается или все так же. Как по нормальному сделать? :(

Hurrit 22.11.2009 14:51

Ответ: Вопрос-Ответ (для новичков)
 
Пропиши в глобале mhit1=mousehit(1) это же пропиши в цикле, и используй вместо mousehit(1), то есть пиши if mhit1 then

Nex 22.11.2009 16:20

Ответ: Вопрос-Ответ (для новичков)
 
Hurrit, так я делал и если так делать, то не работает...
add
Сорь. Все понял как делать. :)

МаркусФеникс 23.11.2009 19:29

Ответ: Вопрос-Ответ (для новичков)
 
Люди! Подскажите мне нужно перемещять кубик по осям x и z при нажатой на нем левой клавиши мыши.

If MouseDown(1) Then
e=CameraPick(camera,MouseX(),MouseY())
If e Then
PositionEntity cube,PickedX(),0,PickedZ()
EndIf
EndIf

Я сделал вот так но если начинаю водить мышой довольно быстро то кубик останавливается. Что можно добавить или переделать чтобы все работало нормально?

Randomize 23.11.2009 20:02

Ответ: Вопрос-Ответ (для новичков)
 
SkyDream, при первом вызове MouseHit(val), KeyHit(val) ...etc
Состояние кнопки обнуляется.
Лучше всегда все переменные засовывать в глобал в начале цикла.
Можно даже под эти нужды массив завести.
Об этом уже MoKa писал.

KingMaks 28.11.2009 23:06

Ответ: Вопрос-Ответ (для новичков)
 
Вопрос: када добавляю в блиц руский комент например : "Управление"
всенормально до первой перезагрузки,

как только перезайду в блиц "Управление" меняеться на какието ероглифы

EvilChaotic 28.11.2009 23:14

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

Сообщение от KingMaks (Сообщение 127335)
Вопрос: када добавляю в блиц руский комент например : "Управление"
всенормально до первой перезагрузки,

как только перезайду в блиц "Управление" меняеться на какието ероглифы

Пиши английскими. Либо замени шрифт используемый б3д (Не советую).

Dream 29.11.2009 00:49

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

Сообщение от EvilChaotic (Сообщение 127338)
Пиши английскими. Либо замени шрифт используемый б3д (Не советую).

почему не советуешь?:)

Sapik 21.12.2009 11:12

Ответ: Вопрос-Ответ (для новичков)
 
Можно ли експортировать бипед или бонес в блиц 3DS формате есле да то как у меня кости двигаются а меш нет.Pipeline пробывал подкинуть у меня 3Dmax 2009 выдает ошибку,пач 9 ставил матерится на версию.

Hurrit 21.12.2009 11:51

Ответ: Вопрос-Ответ (для новичков)
 
3ds формат не держит костяную анимацию, поэтому нельзя

NitE 21.12.2009 16:58

Ответ: Вопрос-Ответ (для новичков)
 
а, помогите ! я поставил патч на версию 9 на версию 2009 а он матерится на версию !

если кости двигаются а тело нет - значит не/неправильно заскинил.
и 3дс вообще дибильный формат без сглаживания - фтопку

St.AnGer 21.12.2009 17:08

Ответ: Вопрос-Ответ (для новичков)
 
Вопросик почти по теме. Существует ли b3d pipeline экспортер/импортер для 3ds Studio Max 2009/2010? Гугл уже устал выдавать для меня результаты по этому файлу =(

NitE 21.12.2009 17:09

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

St.AnGer 21.12.2009 17:11

Ответ: Вопрос-Ответ (для новичков)
 
Блин... жалко =(

Dzirt 21.12.2009 17:19

Ответ: Вопрос-Ответ (для новичков)
 
Max 2009/2010 имхо в топку вообще если для блитца.
импортера не было и раньше для макса б3д.импортируй через Джилес.

Nex 21.12.2009 17:56

Ответ: Вопрос-Ответ (для новичков)
 
Вопрос не много не в тему, но не догадался где запостить... )
Раньше на старом компе стояла ХП х32 и был 3дМакс 9, но я приобрел новый комп и пришлось Висту х64 поставить и сейчас 3дМакс нифига не хочет запускаться, вылазит ошибка (ошибка при инициализации (0xc0000005)).. Подскажите, как его запустить? :)

NitE 21.12.2009 18:06

Ответ: Вопрос-Ответ (для новичков)
 
как насчет посавить макс х64 ?


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

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