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=377)

alcosholik 30.11.2005 02:44

Я новичок!
 
Цитата:

Originally posted by SubZer0
самый лучший способ обучения - смотреть примеры и спрашивать что непонятно... :rolleyes:

конечно самый лучший сборник примеров и объяснений на сегодня это http://blitzetc.boolean.name

смотри так-же примеры идущие с пакетом блиц (если нету то скажи, я тебе выложу), там тоже много есть что интересного...

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

что будет неясно - спрашивай, а кто посмеет тебе нахамить или послать в поисковик, того будем долго и беспощадно расстреливать из баномета ;) мы тут не для того, чтоб в поиск посылать... в поиск можно и самому... а тут мы постараемся объяснить все что к чему...

НО! сразу делаю оговорку, игра - это не только программирование, это еще и много организаторской работы, а именно проектирование, я имею ввиду, что нужно сначала, прежде чем начинать программировать, продумать, какие процедуры будут в программе, и что они будут делать, без этого ничего не получится (разве только hello world). Дак вот, к чему я это все... если встретится проблема в создании одной из функций, то пожалуйста спрашивай, мы всегда будем рады ответить... а на такие вопросы типа "напишите мне плиз игру, а то я не знаю как" отвечать оочень тяжело и никому уже в наши времена неохота, и даже тут на форуме найдется пара личностей которые тебя с таким вопросом могут обсмеять...

значит так:

1. Задумка игры
2. Проектирование игры (примерное представление состава функций и их назначения)
3. Программирование игры
4. Отладка игры и подгонка коэффициентов
5. Продажа игры (реализация)

на пунктах 3 и 4 мы тебе с радостью поможем... остальные пункты, сорри, не для нас, остальные пункты решает сам человек.

PS еще неохота отвечать на вопрос типа "напишите мне игру, я не знаю как", что потеряешь целый вечер за игрой а чел потом и не посмотрит ее... а когда решаешь проблемы отдельных узлов, то чел вникает, и тот кто объяснял чувствует удовлетворенность от того, что комуто помог...

Удачи в изучении и не стесняйся спрашивай!

:)

Спасибо SubZer0 за детальные разъяснения.

alcoSHoLiK 22.01.2006 16:04

Так-с... А с чего же начать изучение самого Блица? Попробую ответить на этот вопрос.

Сначала качаем последнюю доступную версию Blitz.

Затем читаем несколько небольших учебников и получаем общее представление о программировании на Блице.
В особенности советую стать постоянным читателем замечательного журнала Матвея Меркулова Blitz etc.

В процесе написание программ стандартный редактор кода (часто называемый IDE) может показаться нам неудобным. Тогда выбираем один из нескольких альтернативных:
AltIDE
BlitzEdit
Protean

Мы уже достаточно хорошо умеем программировать и нам не хватает дополнительных возможностей. Что делать? Выход есть - зайти в подфорум LIB и выбрать себе тулзу на любой вкус.

Учень утомительно придумывать функцию, которая, возможно, уже есть. Так что не поленитесь и загляните в Полезные функции. Там много чего интересного.

Ответы на еще неотвеченные вопросы можно поискать в разделе FAQ. Если же там ответа нет, задайте вопрос в одной из веток форума, которая соответствует тематике вопроса.
Но постарайтесь сначала найти ответ в стандартной справке Блица. Если со знанием английского у вас плохо, можете поискать перевод необходимого раздела справки.


Удачи в изучении!

DED MozDay 11.07.2007 09:16

Re: Я новичок!
 
А можно обновить ссылки?

alcoSHoLiK 11.07.2007 12:27

Re: Я новичок!
 
Обновил.

Android 08.07.2008 22:33

Ответ: Я новичок!
 
А можно еще раз обновить ссылки? :pardon:

Frank 09.07.2008 02:43

Ответ: Я новичок!
 
Кстати, очень рекомендую IDE - IDEal. Грузится быстрей чем Protean, много интересных фишек, включая функцию Strict, которая следит за правильным объявлением переменных... Скачать можно отсюда:
http://www.fungamesfactory.com/downloads.html

НубеГ 09.07.2008 17:21

Ответ: Я новичок!
 
2FranK, спасибо.

KOSTEG 18.11.2008 21:08

Ответ: Я новичок!
 
ссылка на учебники не рабатает чё делать?

H@NON 19.11.2008 07:10

Ответ: Я новичок!
 
вот правильная : http://blitzetc.blitzmax.ru

МаркусФеникс 22.10.2009 13:02

Ответ: Я новичок!
 
Не подскажите Где можно скачать phisycs wrapper

Mhyhr 22.10.2009 13:17

Ответ: Я новичок!
 
http://xors3d.com/depository/folder/11-add-ons

Colossus 23.10.2009 23:00

Ответ: Я новичок!
 
а ты попробуй заменить LoadAnimMesh на LoadMesh

и формат какой то не здравый у тебя)) 3ds))

в b3d переведи и норм будит))

Spy4433 24.10.2009 00:36

Ответ: Я новичок!
 
хм ну я бы порекомендовал начать с теории.
а именно что такое алгаритм, понимает того что хочешь получить... а уж после этого изучать язык(Basic) - Blitz,точнее синтаксис
Я думаю.
1. Жедание
2. Желание программировать
3. Терпение
4. Понимание - без этого бестолку даже желание не поможет
5. Реалзицая
6- Проект готов

а так же, не ординарное мышление и тд,


Сразу извеняюсь за свой КорявоРусский Язык, писал будуче не тре... возможно я ошибаюсь. Это мое мнение, которого я придерживаюсь, кто так же считает нажмите на кнопку , "Полезно"

МаркусФеникс 26.10.2009 23:21

Ответ: Я новичок!
 
Возможно ли в Blitz3D использование Normal map ?

SKA_DIMKA 26.10.2009 23:33

Ответ: Я новичок!
 
Возможно!

Nex 27.10.2009 07:29

Ответ: Я новичок!
 
Я думаю будет лучше задавать вопросы в этой теме

Мик Данди 29.06.2010 21:24

Ответ: Я новичок!
 
извините если этот вопрос уже был, но меня интересует как прописать путь к файлу без указания диска и директории в которой лежит папка с файлом и файл блитца? Версия у меня 1.96 обновить в данный момент не могу( . И ещё один вопрос: возможно ли проверять столкновения с помощью типов энтити? Зарание благодарен.

Мик Данди 12.08.2010 10:50

Ответ: Я новичок!
 
ещё один вопрос есть текстура, но она размазывается по брашу,
как сделать чтобы она была не растянутой а нормальной?

Program23 12.08.2010 12:41

Ответ: Я новичок!
 
Цитата:

извините если этот вопрос уже был, но меня интересует как прописать путь к файлу без указания диска и директории в которой лежит папка с файлом и файл блитца?
Если правильно понял,то так:
("тут пишешь файл,который надо")

Пример:
Код:

entity=LoadMesh("data\lol.b3d")
или
Include "../start.bb"

Цитата:

И ещё один вопрос: возможно ли проверять столкновения с помощью типов энтити?
Тоже не совсем понял.Если тебе надо сделать столкновения,то вот:
Код:

Graphics3D 640,480,32,2
SetBuffer BackBuffer ()

Const t_cube=1,t_sphere=2 ;Это константы для тех объектов,которым ты хочешь присвоить столкновения

cam=CreateCamera()
PositionEntity cam,0,10,-10

lit=CreateLight()

cube=CreateCube()
PositionEntity cube,3,0,0
EntityType cube,t_cube ;Задаем этому объекту тип

sphere=CreateSphere ()
EntityColor sphere,152,239,22
EntityType sphere,t_sphere ;Задаем этому объекту тип

Collisions t_sphere,t_cube,3,3 ;Тут задаем тип объекта, который будет проверяться на столкновения и тип объекта, с которым будут обрабатываться столкновения. Далее пишем метод определения при столкн.,а след. как себя будет вести объект при этом столкновении
Repeat

PointEntity cam,sphere

If KeyDown (32)
MoveEntity sphere,.1,0,0
EndIf
If KeyDown (30)
 MoveEntity sphere,-.1,0,0
EndIf
If KeyDown (17)
MoveEntity sphere,0,0,.1
EndIf
If KeyDown (31)
 MoveEntity sphere,0,0,-.1
EndIf



UpdateWorld()
RenderWorld()

Flip
Until KeyHit (1)
End


Мик Данди 12.08.2010 14:50

Ответ: Я новичок!
 
спасибо
разобрался
а как насчёт ответа на другой вопрос?

baton4ik 12.08.2010 14:52

Ответ: Я новичок!
 
Цитата:

Сообщение от Мик Данди (Сообщение 158085)
спасибо
разобрался
а как насчёт ответа на другой вопрос?

Пользуйся функцией ScaleTexture. В справке всё это есть, читай!

Raven 16.01.2011 00:45

Ответ: Я новичок!
 
А где в блиц 3Д функция возведения в степень? Не в квадрат, а в произвольную степень?

Raven 16.01.2011 01:00

Ответ: Я новичок!
 
Эх, ладно, уже сам написал... Но всё же интересно, есть она в b3D по умолчанию, или отсутствует?

moka 16.01.2011 01:57

Ответ: Я новичок!
 
Эм 2^100500?

Reizel 16.01.2011 02:39

Ответ: Я новичок!
 
не, это не воркает вродь в блице

moka 16.01.2011 03:16

Ответ: Я новичок!
 
Цитата:

Сообщение от Павел (Сообщение 175774)
не, это не воркает вродь в блице

Код:

number=2^8
DebugLog number

DebugLog:
Код:

256
ЗЫ,
Хоть и "воркает", но вот вам говнокод (ВНИМАНИЕ! НЕ ИСПОЛЬЗОВАТЬ):
Код:

number=2
power=8

; ================================
; Right way of Power
DebugLog Int(number^power) ;result=256


; ================================
; SHIT way of doing things
mewNumber = number
If (power>1)
    For i=0 To power-2
        mewNumber = mewNumber * 2
    Next
EndIf
DebugLog mewNumber ;result=256

; ================================
; Improved shitty way
DebugLog Pow(number,power) ;result=256

Function Pow(number,power)
    If (power>1)
        For i=0 To power-2
            number = number * 2
        Next
    EndIf
    Return number
End Function

Это я к тому, что есть смекалка, если нету мозгов для использования справки или нормального подхода к самообучению, но если ни того ни того нету, бросайте это дело. (я дерзкий)

Raven 16.01.2011 12:03

Ответ: Я новичок!
 
Да, ларчик просто открывался, хе-хе. :-)

Reizel 16.01.2011 14:00

Ответ: Я новичок!
 
гм, я помню скачал какую-то прогу с цетеры, там в одной функции number^3 не хотела компилиться, на стд IDE. с тех пор был о Блице такого мнения :)

moka 16.01.2011 16:33

Ответ: Я новичок!
 
Цитата:

Сообщение от Павел (Сообщение 175802)
гм, я помню скачал какую-то прогу с цетеры, там в одной функции number^3 не хотела компилиться, на стд IDE. с тех пор был о Блице такого мнения :)

Может старая версия.. :)

pax 16.01.2011 18:37

Ответ: Я новичок!
 
А я бы написал бы вот так для положительных степеней:
Код:

Function Pow#(number#,power#)
    Return Exp(power#*Log(number#))
End Function


.Squid 16.01.2011 19:25

Ответ: Я новичок!
 
Цитата:

Сообщение от pax (Сообщение 175854)
А я бы написал бы вот так для положительных степеней:
Код:

Function Pow#(number#,power#)
    Return Exp(power#*Log(number#))
End Function


Да ты шутишь. Циклом на порядок быстрее будет.

pax 16.01.2011 19:39

Ответ: Я новичок!
 
Цитата:

Сообщение от .Squid (Сообщение 175872)
Да ты шутишь. Циклом на порядок быстрее будет.

Посчитай циклом 2^(1/3) например.

.Squid 16.01.2011 20:03

Ответ: Я новичок!
 
Цитата:

Сообщение от pax (Сообщение 175876)
Посчитай циклом 2^(1/3) например.

Подловил. :(

pax 16.01.2011 20:04

Ответ: Я новичок!
 
Не ну можно в ряд разложить конечно но я бы не парился, если надо считать эту функцию редко.

Raven 22.01.2011 19:40

Ответ: Я новичок!
 
А вот ещё нубский вопрос. После компиляции в exe, запуск приложения заканчивается ошибкой: "User lib not found". Что здесь нужно сделать, чтобы запускалось корректно?

pax 22.01.2011 20:15

Ответ: Я новичок!
 
Скопировать нужные dll в папку с игрой.

Raven 26.01.2011 02:37

Ответ: Я новичок!
 
Очередной, дилетантский вопросик. Как я понял, координаты экранные и координаты XY тел, сильно не совпадают. Нарисовал функцию, которая должна возвращать 1 при совпадении координат мыши с координатами произвольного тела на 3Д сцене. Возвращает, но совсем в других местах %)
Как приводить координаты виртуальные к экранным или наоборот?

Mr_F_ 26.01.2011 02:56

Ответ: Я новичок!
 
CameraPick, смотри встроенный пример

Reizel 26.01.2011 11:39

Ответ: Я новичок!
 
Мм...Может CameraProject???

DStalk 26.01.2011 15:25

Ответ: Я новичок!
 
Цитата:

Сообщение от MoKa (Сообщение 175778)
; Right way of Power

я извиняюсь, но тут вроде не на 2 умножать надо:)

Код:

Function Pow(number,power)
    newnumber=number
    If (power>1)
        For i=0 To power-2
            newnumber = newnumber * number
        Next
    EndIf
    Return newnumber
End Function


Артем Валерьевич 31.01.2011 23:08

Ответ: Я новичок!
 
поможите друзья, пытаюсь загрузить все модели из папки в тип, но чего то не получается.

Открываю директорию, ищу файлы, потом проверяю тип файла, если b3d то гружу, но вот такое дело, у меня эти модели грузились в массив :

Код:

        red\TileModel[22]=LoadMesh("Data\Bitmap\Menu\tile23.b3d",modelpiwot)
HideEntity red\TileModel[22]


как мне быть?

Hurrit 01.02.2011 21:24

Ответ: Я новичок!
 
Цитата:

Сообщение от Артем Валерьевич (Сообщение 177535)
поможите друзья

обязательно помогим.

Цитата:

Сообщение от Артем Валерьевич (Сообщение 177535)
пытаюсь загрузить все модели из папки в тип, но чего то не получается.

Открываю директорию, ищу файлы, потом проверяю тип файла, если b3d то гружу, но вот такое дело, у меня эти модели грузились в массив :

Код:

        red\TileModel[22]=LoadMesh("Data\Bitmap\Menu\tile23.b3d",modelpiwot)
HideEntity red\TileModel[22]


как мне быть?

Ну, всё просто. Если обнаружен файл б3д, то создаёшь новую запись в типе, и присваиваешь ей модель. Ну что-то типа такого (PSEUDOCODE+BBCODE):

Код:

  if file is b3d then
  m.models=new models
    m\entity=file
  endif

А дальше бежишь по другому файлу. И всё. Если хочешь, то можно использовать списки с типами.

Nex 02.02.2011 08:32

Ответ: Я новичок!
 
Вот переделанный пример из хелпа :) правда без массивов.
Цитата:

folder$="C:"

myDir=ReadDir(folder$)

While True
file$=NextFile$(myDir)

If file$="" Then Exit

If FileType (folder$+""+file$) = 1 Then
If Right (file$,4) = ".b3d" Then
m.model = New model
m\ent = LoadMesh (folder$+file$)
EndIf
End If

Wend
CloseDir myDir

Артем Валерьевич 03.02.2011 19:58

Ответ: Я новичок!
 
Вложений: 1
Спасибо ребята, теперь я смогу полноценно доделать свой редактор. И кстати, вчера решил проверить, на каком количестве тайлов начнет тормозить, и вот результат - перевалило за 600 и было совсем не заметно.

Артем Валерьевич 03.02.2011 22:14

Ответ: Я новичок!
 
:4to: да загрузить получилось, но вот сижу и пытаюсь понять, как теперь мне пролистывать меши, скрывая все и открывая только текущий.

Jlemyp 24.09.2011 19:20

Ответ: Я новичок!
 
Всем привет.У меня вопрос,над которым будут долго наверное смеяться,но он все же есть: Почему команда FlushMouse не очищает буфер ввода с мыши.Можно ли еще как нибудь его очистить?

Пример: В определенных координатах по нажатию ЛК мыши должно сработать действие.Я нажимаю ее в других координатах,а когда подвожу к тому месту куда надо,то действие срабатывает без нажатия.Куда я только не ставил FlushMouse,буфер не очищается.Подскажите как быть.

moka 24.09.2011 19:36

Ответ: Я новичок!
 
Дело не в функциях. Во первых привяжи данные с функций MouseHit или MouseDown к переменным в начале цикла, и затем уже используй только эти переменные, а не сами функции. Думаю это решит твою проблему.

У тебя скорее логическая проблема, нежели техническая.

Jlemyp 24.09.2011 22:12

Ответ: Я новичок!
 
Большое спасибо!:super: Все получилось!!!

DaHuJIbI4 22.10.2011 22:42

Ответ: Я новичок!
 
Привет. Решил попробовать себя в создании 3д игр. Есть небольшой опыт по созданию карт для контры и долгое время (4года) работал на Flash. Подскажите наиболее удобный и вмеру простой инструмент для создания моделей и карт которые можно было бы использовать в Bliz3d.

L-ee-X 22.10.2011 22:45

Ответ: Я новичок!
 
3D Max и плагин для Export'a в b3d формат: B3d Pipeline:)

DaHuJIbI4 22.10.2011 23:08

Ответ: Я новичок!
 
спасиб. буду пробовать

DaHuJIbI4 25.10.2011 13:46

Ответ: Я новичок!
 
Никак не могу разобраться с этим идиотским синтаксисом. Пытаюсь задать функцию но при запуске появляется ошибка. Вот фрагмент кода:

speed=1

Function dvig()
MoveEntity car,0,speed,0
End Function

Repeat

dvig()

UpdateWorld
RenderWorld
Flip
Until KeyHit(1)

Причём ошибка появляется только при обращении к функции!

Reizel 25.10.2011 13:54

Ответ: Я новичок!
 
Цитата:

Сообщение от DaHuJIbI4 (Сообщение 206894)
с этим идиотским синтаксисом.

*facepalm*, конечно же виноват синтаксис.. :-D
В функции ты пытаешься передвинуть объект car, который, вероятно всего, был объявлен не как Global, потому функция ищет локальную переменную car, не находит, создает новую, обнуляет, вызывает MoveEntity, и вылазит MAV (Entity does'nt exists)

сделай Global Car, и будет тебе счастье.

ПС и никогда не ругайся на блиц, все ошибки сделаны вашими же руками, убеждался в этоми не раз.

impersonalis 25.10.2011 13:55

Ответ: Я новичок!
 
Данилыч, тачку то запили!
Апд: Павел опередил.
Выкиньте уже посты из FAQ.

Reizel 25.10.2011 17:27

Ответ: Я новичок!
 
Цитата:

Сообщение от impersonalis (Сообщение 206897)
Данилыч, тачку то запили!

Ха! Не сразу осознал :-D

SBJoker 25.10.2011 17:48

Ответ: Я новичок!
 
Цитата:

Сообщение от impersonalis (Сообщение 206897)
Выкиньте уже посты из FAQ.

И это пишет супермодератор имеющий право наводить порядок на форуме во всех разделах...

impersonalis 25.10.2011 22:19

Ответ: Я новичок!
 
Цитата:

Сообщение от SBJoker (Сообщение 206935)
И это пишет супермодератор имеющий право наводить порядок на форуме во всех разделах...

:pardon: думал: не умею. проверить не хватило ума. учту.

Mr.DIMM 05.11.2011 21:48

Ответ: Я новичок!
 
а куда можно выложить что получилось?

RegIon 06.11.2011 09:41

Ответ: Я новичок!
 
Цитата:

Сообщение от Павел (Сообщение 206896)
*facepalm*, конечно же виноват синтаксис.. :-D
В функции ты пытаешься передвинуть объект car, который, вероятно всего, был объявлен не как Global, потому функция ищет локальную переменную car, не находит, создает новую, обнуляет, вызывает MoveEntity, и вылазит MAV (Entity does'nt exists)

сделай Global Car, и будет тебе счастье.

ПС и никогда не ругайся на блиц, все ошибки сделаны вашими же руками, убеждался в этоми не раз.

да у неги и переменная speed не глобальная.....думаю двигаться не будет вообще:-D

Randomize 06.11.2011 11:10

Ответ: Я новичок!
 
Цитата:

Сообщение от Nerd96 (Сообщение 208518)
В унитаз. Или сюда. Но лучше в унитаз.

Не оскорбляй людей без повода.

pax 06.11.2011 14:25

Ответ: Я новичок!
 
Цитата:

Сообщение от Randomize (Сообщение 208551)
Не оскорбляй людей без повода.

Даже если есть повод - не используйте форум.

tirarex 03.01.2012 19:27

Ответ: Я новичок!
 
сделал с помощью cameravievport мини карту а как сделать её круглой ?
ну как тут

Mr_F_ 03.01.2012 19:41

Ответ: Я новичок!
 
делай не через вьюпорт, а рендер в текстуру. у текстуры ставь круглую маску или накладывай её на полигональный круг

tirarex 03.01.2012 19:44

Ответ: Я новичок!
 
как рендить в текстуру ??


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

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