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)

LLI.T.A.L.K.E.R. 27.07.2011 21:04

Ответ: Вопрос-Ответ (для новичков)
 
Делаю 3Д-змейку..
Встала ненужная проблема!
При копировании (а так же и загрузки нового) меша
Код:

Snake\body=CopyMesh(Snake_main_body)
на месте остаётся бесхозная копия.. Доступ к ней не могу найти!
Т.е. Snake\body - то что мне нужно и я могу им управлять.
А вот CopyMesh(Snake_main_body) (думаю что это) остаётся на месте как осадок..
На Hide ни Free ни Delete не могу использовать, так как не знаю что это такое остаётся.

А заготовка змейки у меня хорошая! Делаю на конкурс IGDC. Сам с нуля писал, так как так легче.

RBK 27.07.2011 21:19

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

FreeEntity Snake_main_body
Snake_main_body 


или сделай его невидимым если он нужен
PHP код:

HideEntity Snake_main_body 


LLI.T.A.L.K.E.R. 27.07.2011 21:26

Ответ: Вопрос-Ответ (для новичков)
 
А как делать потом с него копии для последующих цепочек?
После FreeEntity Snake_main_body далее происходит Entity does not exist (а мне она ещё нужна будет)
Сейчас видео закачается - будет понятнее проблема:

Видео:


~~~
Невидимым копируемые объекты всегда сразу же делаю.
Посмотрю ещё другие проекты с копированием.

А что там за фиолетовый кружок я вообще фигею!

NitE 27.07.2011 21:33

Ответ: Вопрос-Ответ (для новичков)
 
Я знаю в чем проблема! У тебя в коде что-то не так.
А музон прям необходим был для лучшего понимания проблемы.

RBK 27.07.2011 21:36

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

LLI.T.A.L.K.E.R. 27.07.2011 21:44

Ответ: Вопрос-Ответ (для новичков)
 
Намёк то понятен. Просто непонятка при наипростейшей блитзевской комадне, от кода которая особо не зависит.

Кажется засирание копиями происходит при обращении Last Before First хендлам типов.
Сделал КопиМеш только при загрузки каждой цепочки
Код:

For i%=1 To Snake_Size
        Snake.Snake_Type=New Snake_Type
       
        Snake\body%=CopyMesh(Snake_main_body)

- всё чисто.

Как установить
Код:

Snake=First Snake_Type
Snake\body=CopyMesh(Snake_main_body)

чтобы не засоряло при этом?
Это устанавливает модель головы на первую цепь. (Модель головы ещё не сделана)


Код:

Snake\body=Snake_main_body
тупо оставляет копию меша (в позиции 0,0,0)

RBK 27.07.2011 21:50

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

LLI.T.A.L.K.E.R. 27.07.2011 21:53

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

Сообщение от RBK (Сообщение 196916)
Используй список только для тела, голову и хвост сделай отдельно.

Сложно будет переделывать..

Удалять (чистить) Mesh нельзя?

Пока сделаю решение такое:
Код:

Snake=First Snake_Type
HideEntity Snake\body
Snake\body=CopyMesh(Snake_main_hvost)

перед смены меша - прятать предыдущий вид меша

При макс. количестве 50 - память не нагрузится.

RBK 27.07.2011 21:59

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

Сообщение от LLI.T.A.L.K.E.R. (Сообщение 196917)
Удалять (чистить) Mesh нельзя?

можно, FreeEntity

Логику игры легче поправить на раннем этапе, потом станет еще хуже.

KingMaks 28.07.2011 01:25

Ответ: Вопрос-Ответ (для новичков)
 
В physx создал луч ray_cam = pxCreateRay()
позицыонирую в координаты камеры pxRaySetPosition(ray_cam,EntityX(cam),EntityY(cam) ,EntityZ(cam))
так не выдает ошибок, как только добавляю строчку ray=pxRayGetBody(ray_cam, 2) то примерно через секунду после проверки игры она зависает. Может это связано с лицензией? но при лицензии ошибка просто выскакивает, а тут зависает.

NitE 28.07.2011 03:16

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

KingMaks 28.07.2011 04:29

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

Жека 28.07.2011 06:43

Ответ: Вопрос-Ответ (для новичков)
 
LLI.T.A.L.K.E.R., зачем тебе искать голову через First, ты изначально создавай её первой и присваивай меш головы, а остальные части создавай в цикле и для них свой меш.
Ещё в сам тип можно флаг добавить isHead - и для башки поставить ему 1. Тогда можно будет в цикле обработки по нему определять голову, и можно не выносить из списка голову.
И для хвоста аналогично.

LLI.T.A.L.K.E.R. 28.07.2011 13:13

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

Комментарии в коде до конца допишу и выложу архив.

RBK 28.07.2011 15:39

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

Сообщение от KingMaks (Сообщение 196941)
В physx создал луч ray_cam = pxCreateRay()
позицыонирую в координаты камеры pxRaySetPosition(ray_cam,EntityX(cam),EntityY(cam) ,EntityZ(cam))
так не выдает ошибок, как только добавляю строчку ray=pxRayGetBody(ray_cam, 2) то примерно через секунду после проверки игры она зависает. Может это связано с лицензией? но при лицензии ошибка просто выскакивает, а тут зависает.

Попробуй указать для луча направление, используй pxRaySetDir(ray%, nx#, ny#, nz#)

Mind 30.07.2011 15:14

Ответ: Вопрос-Ответ (для новичков)
 
Помогите по подробней разобраться с командой физикса враппера:
pxBodySetMassSpaceInertiaTensor(num%, x#, y#, z#)
Я только знаю что это влияет на инерцию тела(каким-то образом)
Но когда я телу ставлю все параметры одинаковыми, то оно прыгает или не движится 0_o!
Видимо плохо понимаю команду!

KingMaks 01.08.2011 21:04

Ответ: Вопрос-Ответ (для новичков)
 
как в Physx предотвратить ходьбу по наклонам? а то заходит даже на наклоны которые почти как стена, а нужно, чтобы максимум на наклон 50-60 градусов

St_AnGer 01.08.2011 22:03

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

Mind 02.08.2011 13:26

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

Сообщение от KingMaks
как в Physx предотвратить ходьбу по наклонам? а то заходит даже на наклоны которые почти как стена, а нужно, чтобы максимум на наклон 50-60 градусов

0_о?!! У меня то как раз(когда я начинал изучать физику) было на оборот :-D

Цитата:

Сообщение от St_AnGer
Возможно проверять контакты тела, смотреть нормаль нужного контакта и ограничивать относительно нормалей как надо?

А вообще да. Нормали тебе в помощь. Токо и сними бывют проблемы. Будь внимателен :super: .
Еще можешь увеличить грави(должно помочь).
И посмотри в справке такие команды как:Дампинг,Трение(материалы),Масса.. Поэксперементируй должно помочь (еси руки правильно растут)!
ЗЫ Я лично с нормалями уже дружу пол года и пока все норм спасают меня от багов.

Да кстати ты какую форму геометрии используешь для игрока?Капсулу?

tormoz 02.08.2011 14:35

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

KingMaks 02.08.2011 18:10

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

Mind 02.08.2011 21:55

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

Сообщение от KingMaks
С нормалями никогда не работал, можно чудь по подробней?

Эт плохо т.к в большенстве они нужны(еси ты делаешь 3D игру)

Итак начнём:
1) Нормали.... уууу даже незнаю как рассказать те то.
2)Лучше используй капсулу для игрока(нарисуй в максе и экспортни и зделай хулл),но я использую три деления(верх(для приседания),центр(для движения),низ для подскока(я даже тему создавал в теме ксорса про ноги)).
3) Вернёмся к нормалям. В стандартном блитзовском хелпе есть про нормали (в ксорсе они идентичны).Вкратце: нормаль(имеет значение от 0 до 1) определяет ... блин лучше в иннете по гугли.Кароче еси ты дотронулся шаром(к примеру) до точки то через нормали(команду) можно определить как бы угол(образно) относительно прикосновения.
Я лично нетом не пользовался по этой теме а все добивался сам методом эксперемента :super: .

dsd 02.08.2011 23:54

Ответ: Вопрос-Ответ (для новичков)
 
Нормаль это перпендикуляр к плоскости. Если плоскость задана уравнением вида аХ+bY+cZ+d=0, то нормаль это вектор(a,b,c). Если вектор нормали привести к длине 1, то он будет(кос(альфа), кос(бета), кос(гамма)). где альфа угол вектора к оси икс, бета к игрек и гамма к зед.

Mr_F_ 03.08.2011 00:03

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

(имеет значение от 0 до 1)
от -1 до 1

dsd 03.08.2011 00:10

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

Mind 03.08.2011 09:53

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

Сообщение от Mr_F_ (Сообщение 197749)
от -1 до 1

Да извиняюсь от -1 до 1.

Цитата:

Сообщение от dsd
А вот нифига, или 1 или -1 если уж нато пошло.

Мы говорим про команду которая возвращает компонент нормали, и её значение может быть в пределах -1 - 1 включительно.

dsd 03.08.2011 11:19

Ответ: Вопрос-Ответ (для новичков)
 
Mind, а какова длина нормали? И если нормаль направленна противоположно нормальному вектору, что это будет значить?

кстати команда xvectorpitch и xvectoryaw вернет углы наклона вектора. От них можно определить превышает ли угол плоскости тот после, которого подъем уже не возможен или нет. И можно вычислить направление куда должен соскользнуть игрок если плоскость имеет наклон больше.

Mind 03.08.2011 13:30

Ответ: Вопрос-Ответ (для новичков)
 
Я видно не так хорошо разбираюсь в векторах как ты...
И это плохо!надо как то начать.. ну ладно. :)

...но я имел в виду команду CollisionNY(к примеру):

Цитата:

Возвращает Y-компонент нормали столкновения.

Индекс должен быть в пределах 1...CountCollisions(entity) включительно.


KingMaks 08.08.2011 20:59

Ответ: Вопрос-Ответ (для новичков)
 
Допустим есть число 2.34567, как его привести к числу вида 2.34, тоесть оставить только две цифры после точки?
Можно, конечно, сделать через строки, но мне кажеться ето не правельно:-D

NitE 08.08.2011 21:47

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

Function x$(num#,p%)
Local str$=String(num)
Return Left(str$,Instr(str$,".")+p)
EndFunction


KingMaks 14.08.2011 04:45

Ответ: Вопрос-Ответ (для новичков)
 
а что в Blitz нету команды перевода из строки в число? как это обойти?

RBK 14.08.2011 11:03

Ответ: Вопрос-Ответ (для новичков)
 
Есть:
Int( строка ) - Преобразовывает строку в ближайшее целое значение.
Float#( строка ) - Преобразовывает строку в float соответственно.

Обходить ничего не надо, т. к. перевод происходит автоматически, в зависимости от типа переменной (определяется спец. символами %, #, $ ).

dsd 14.08.2011 18:27

Ответ: Вопрос-Ответ (для новичков)
 
Попробуй b#=int(b#*100)/100 должны остаться токо последние две цифры.

KingMaks 19.08.2011 20:39

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

St_AnGer 26.08.2011 19:46

Ответ: Вопрос-Ответ (для новичков)
 
Прошу помощи знающих и разбирающихся, т.к. сам в типах плохо разбираюсь.

Допустим, имеется тип:

Код:

Type cClient
    Field id%
End Type

Соответственно id% - идентификационный номер клиента.
Далее.
Допустим, один из объектов типа cCLient имеет id = 10.

Вопрос: возможно ли без цикла for-each (т.е. без перебора всех объектов типа) достать тот объект из типа, у которого id% = 10, при условии знания что данный объект существует? И если возможно, то как?
Прошу не разводить демагогию на тему "зачем это надо"

moka 26.08.2011 20:04

Ответ: Вопрос-Ответ (для новичков)
 
Т.к. Type в Blitz3D есть по сути итератор объектов, но не реализует как таковой индексации по типу хаш таблиц. Крч, тебе нужно завезьти массив отдельно от типа, он будет выступать в роли списка, и содержать ссылки по индексу на сам объект.

Код:

Dim clients.cClient(MAX_CLIENTS%)
MAX_CLIENT - должна быть константой, максимального числа ID. По сути ты создашь огромный массив, и не факт что он будет всё содержать.

Создавай новый объект сразу в массив и далее работай с ним.

Тебе нужно изучить Handle и Object интерфейсы в Blitz3D, это не просто будет для тебя..

Вот тут отличные примеры: http://www.blitzbasic.com/Community/...hp?topic=75556

EvilChaotic 27.08.2011 02:58

Ответ: Вопрос-Ответ (для новичков)
 
По-моему. Мока хочет, чтобы id объекта соответствовал номеру ячейки в массиве. И так ты действительно сможешь достать некий объект (например с id = 10) из ячейки под номером 10.

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

Самое простое будет выглядеть как=то так:

Код:

Const Dim_size% = 100
Dim Array%[Dim_size - 1]

Type cClient
 Field Id
End Type

Function CreateObject(id)
c.cClient = new cClient
c\id = id
return handle(c)
End Function

Как юзать
Dim Array[9] = CreateObject(9)

Как обращаться к объекту типа
Action(Array[9]) (Что-то делаем с объектом типа под номером 9)

Function Action(h)
c.cClient = Object.cClient(h)
;c\... =  тут что-то делаем с объектом типа
End Function

ЗЫ. Все это очень стремно. Не знаю зачем тебе это понадобилось, если расскажешь подробней то в свободное время напишу нормально.

moka 27.08.2011 05:52

Ответ: Вопрос-Ответ (для новичков)
 
Это типо hash таблица получается. Удобно если нужно делать сетевую игру, где ты знаешь что все объекты имеют свой уникальный ID.
Вот если назначаешь ID, то тут да, нада заботиться о разных вещах..

St_AnGer 27.08.2011 10:37

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

Сообщение от EvilChaotic (Сообщение 200243)
ЗЫ. Все это очень стремно. Не знаю зачем тебе это понадобилось, если расскажешь подробней то в свободное время напишу нормально.

Цитата:

Сообщение от MoKa (Сообщение 200246)
Это типо hash таблица получается. Удобно если нужно делать сетевую игру, где ты знаешь что все объекты имеют свой уникальный ID.

Вот и ответ.
Я сделал что то наподобие сетевой системы на архитектуре клиент-сервер построенной на UDP протоколе (Udp выбран не случайно, хочу потом на основе этого сделать небольшой сетевой шутер).

Работает правильно, но из за кучи циклов for-each (которые используются мной для прохода по типам) при количестве клиентов больше пяти сервер начинает не сразу читать и отвечать на запросы сообщения клиентов.
Все объекты типа "клиент" имеют свой уникальный ID.
И всё это хорошо работает, если сервер не начинает отсылать всем клиентам банальный запрос пинга (тут происходит первая "пробежка" по типу cClient, которая работает и не подвешивает сервер). А в ответ на эти запросы пинга все клиенты начинают ему отвечать, соответственно в разное время, вот тут происходит ещё куча "пробежек" по типу cClient для поиска ID каждого приславшего клиента.

Т.е. выглядит это так у меня:
1) сервер посылает запрос;
2) каждый клиент получает данный запрос в разное время (соответственно скорости соединения клиента/сервера);
3) каждый клиент обрабатывает запрос;
4) каждый клиент посылает ответ серверу, содержащий id клиента и какие то данные;
5) сервер на каждый ответ проходит циклом for-each по типу cCLient для поиска ID который пришёл от клиента и обрабатывает данные.
далее снова п.1

Я пробовал уже делать стек команд (работает, но прироста к скорости работы сервера много не дало), пробовал сделать отсылание команд клиентам в определённый интервал (вот тут как раз добавилась возможность нормально подключиться ещё двум-трём клиентам). Так же пробовал реализовать одновременно стек команд, выполняющийся по определённому интервалу времени. Всё это либо не помогло, либо помогло, но очень слабо.
Я понимаю, что сервер на блице - это глупость, но хочу попробовать пока что на нём реализовать (сначала на чистом UDP блица, а потом на RakNet'е, если с ним разберусь). Моя архитектура работает, но вот забивается при большом количестве поступивших команд :(

вот для этого я и хочу сразу брать нужный мне id из типа cClient сразу, что бы сервер не грузил себя тучей циклов for-each. Если кто то мне объяснит как вообще реализуется подобное - буду неимоверно благодарен.

Я всё это делал взяв за основу архитектуру сетевой части движка IdTech 2 (Quake II, в котором более-менее разобрался и даже начал вносить свои небольшие изменения в геймплей). Но он то написан на C++, и большинство конструкций я просто не представляю как на блице можно реализовать, да и невозможно это наверно в принципе. В принципе, могу попробовать переделать IdTech 2 под свои нужды для сервера, но я хочу именно разобраться в данном вопросе и создать свой собственный сервер на блице.

зыЖ Свой код приводить не буду, ибо проще изобрести CryEngine 4, чем разобраться в моём творчестве. Да никто этого делать и не будет, наверно.

LLI.T.A.L.K.E.R. 27.08.2011 11:54

Ответ: Вопрос-Ответ (для новичков)
 
А если создать массив
Players_IDs (100)

К определённой ячейке массива привязать Handle(cClient)

Код:

Players_IDs(id)=Handle(cClient)
...
TempClient.cClient=Object.cClient(Players_IDs(id))
TempClient\Name="Player"+Str(id)


Я тоже скоро с этим столкнусь (RakNET)

Gector 28.08.2011 21:00

Ответ: Вопрос-Ответ (для новичков)
 
Как в блице работает гамма? Никак не уловлю принцип.
Нужно для затемнения изображения. Даже функцию нашел. Но мне важно понять принцип).
Справку читал. Никогда не пользовался гаммой но тут вдруг понадобилось).

Nerd 28.08.2011 21:37

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

SetGamma red,green,blue,dest_red#,dest_green#,dest_blue#
After performing one or more SetGamma commands, you must call UpdateGamma.

Gector 28.08.2011 21:42

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

Сообщение от Nerd96 (Сообщение 200410)
Лучше её не трогай - там надо на каждый цвет ставить цвет-замену, что херня.

Так и думал. Значит не то).

LLI.T.A.L.K.E.R. 02.09.2011 02:03

Ответ: Вопрос-Ответ (для новичков)
 
Хочу купить все FastЛибы, но у меня в инете только WebMoney рубли имеются.

И подскажите пожалуйста его разработчика на этом форуме... Нашёл: Mikhail Vostrikov [MixailV]

Отправил ему сообщения.

pepel 02.09.2011 10:53

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

Сообщение от LLI.T.A.L.K.E.R. (Сообщение 200932)
Хочу купить все FastЛибы, но у меня в инете только WebMoney рубли имеются.

И подскажите пожалуйста его разработчика на этом форуме... Нашёл: Mikhail Vostrikov [MixailV]

Отправил ему сообщения.

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

KingMaks 02.09.2011 15:08

Ответ: Вопрос-Ответ (для новичков)
 
а как в блице преждевременно покинуть условие if ... endif ?

moka 02.09.2011 16:52

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

Заведи дополнительный true/false и используй его..

den 02.09.2011 17:55

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

Сообщение от KingMaks (Сообщение 200949)
а как в блице преждевременно покинуть условие if ... endif ?

сделать внутри ещё одно условие

PHP код:

if(главное условие)
{
    
код...
    
тут либо прерываемся (что-то false)
    
либо продолжаем (что-то true)
    if(
что-то)
    {
        
код...
    }



RBK 02.09.2011 20:47

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

Сообщение от KingMaks (Сообщение 200949)
а как в блице преждевременно покинуть условие if ... endif ?

Точно endif? Может elseif?
Если тебе обязательно нужно использовать структуру if ... elseif, то выйди с помощью Goto

PHP код:

if Условие1
   блок1

elseif условие2
   блок2

;дополнительное условие
   
if условие_выхода then Goto exitLine

elseif условие3
   блок3

... и т.дсколько надо

end 
if

.
exitLine 


Nerd 02.09.2011 20:59

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

Сообщение от KingMaks (Сообщение 200949)
а как в блице преждевременно покинуть условие if ... endif ?

Дополнительным if..endif. Goto - говно.

Nex 12.09.2011 10:10

Ответ: Вопрос-Ответ (для новичков)
 
Страдаю фигней. Пытаюсь написать сервер, но все как то сложно. Уже разобрался как передать в браузер html файл, но вот с изображениями какая то борода. Собсно как передать в браузер картинку и отобразить ее? Получилось только вызвать диалог скачивания файла, да и то получился "файл-пустышка".
Примеров с этим связанных не нашел никаких. :(

moka 12.09.2011 13:54

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

Nex 12.09.2011 13:57

Ответ: Вопрос-Ответ (для новичков)
 
Типо веб-сервер. Апач сильно сказано.. Я так по мелочи.. :)

moka 12.09.2011 14:26

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

Nex 12.09.2011 14:50

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

dat ReadLine (file)
WriteLine (stream,Bin (dat)) 

?

moka 12.09.2011 15:08

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

NitE 12.09.2011 21:26

Ответ: Вопрос-Ответ (для новичков)
 
Вложений: 1
Вот пример из стандартной поставки пуребасика. Синтаксис там похожий.
И сервера никто на блице не пишет.

Nex 13.09.2011 13:02

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

Nex 13.09.2011 19:47

Ответ: Вопрос-Ответ (для новичков)
 
Вложений: 1
В общем не много еще допилил, но с картинками так и не разобрался.
Заходить 127.0.0.1/имя_файла_из_папки.формат

moka 13.09.2011 19:54

Ответ: Вопрос-Ответ (для новичков)
 
Nex, а можно больше описания, что это и зачем? А то как-то стрёмно качать не знаю что, да и зачем?

Nex 13.09.2011 19:59

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

LLI.T.A.L.K.E.R. 18.09.2011 23:21

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

Сообщение от LLI.T.A.L.K.E.R. (Сообщение 200263)
А если создать массив
Players_IDs (100)

К определённой ячейке массива привязать Handle(cClient)

Код:

Players_IDs(id)=Handle(cClient)
...
TempClient.cClient=Object.cClient(Players_IDs(id))
TempClient\Name="Player"+Str(id)


Я тоже скоро с этим столкнусь (RakNET)

Этот метод превосходно работает! :ok:

Может кто посоветовать исходник сетевого шутера (сервер-клиент). Только не Quake и подобные. Так по мелочи.
Хочется рассмотреть контроль данных игроков.
(хотя quake тоже стал интересен - его сам найду)

MrFrosT1 01.10.2011 13:13

Ответ: Вопрос-Ответ (для новичков)
 
В блитце помимо .b3d .md2 файлов, как анимировать файлы типа .x .3ds?

Reizel 01.10.2011 13:32

Ответ: Вопрос-Ответ (для новичков)
 
x по-мойму вроде вообще не аннимируется, 3ds анимируется, но обычнными параметрами (вращение фигур, масштаб, позиция), но костной анимации нет. Для блица самое то - b3d


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

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