forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   2D-программирование (http://forum.boolean.name/forumdisplay.php?f=13)
-   -   Как размещять обьекты на карте? (http://forum.boolean.name/showthread.php?t=225)

Lexa 19.10.2005 14:27

Подскажите плизь, как размещять обьекты на карте? У меня два трепятствия деревянная и каменная стены.(один меш разные текстуры) :dontknow: :'(( :SOS:
как пользоватся этой датой(Data)??

jimon 19.10.2005 15:05

тот вопрос относится к теме псевдо 3д
и решается очень и очень сложно
примерно так :
надо создать вооброжаемый 3д мир
просчитывать zbuffer для всех обектов
потом их рисовать всех в 2д сначала все что самые дальние, потом те что ближе

тебе пример использования data \ read надо чтоли ?

Lexa 19.10.2005 15:14

ну да! у меня с обьёмом проблем нет :lol: Мне надо пример работы с датой, там у мене 2 координаты x и z (хз :lol: )

jimon 19.10.2005 15:38

Код:

; Sample of read/restore/data/label commands

; Let's put the data pointer to the second data set
Restore seconddata

; Let's print them all to the screen
For t = 1 To 10
Read num; Get the next data value in the data stack
Print num
Next

; Now for the first set of data
Restore firstdata

; Let's print them all to the screen
For t = 1 To 10
Read num; Get the next data value in the data stack
Print num
Next

; this is the first set of data
.firstdata
Data 1,2,3,4,5,6,7,8,9,10

; this is the second set of data
.seconddata
Data 11,12,13,14,15,16,17,18,19,20

непонятно ? давай вопросы

Lexa 19.10.2005 15:48

это пример из хелпа. он понятен
не понятно др. вот обьект (деревян. стена) мне надо его наверно размножить и раставить на карте. Я видел в примерах тама пишут типа
Код:

Dim blox(7,7,Levels)
Dim numblox(Levels)

For l=0 To Levels
        Select l
        Case 0: Restore Level0
        .................
        Case 5: Restore Level5
        End Select       
        For by=0 To 7
 *For bx=0 To 7
 *        Read blox(bx,by,l)
 *        If blox(bx,by,l)>0 And blox(bx,by,l)<8 Then numblox(l)=numblox(l)+1
 *Next; bx
        Next; by
Next;l
.Level0
Data 0,0,0,0,0,0,0,0
Data 1,1,1,1,1,1,1,1
Data 1,1,1,1,1,1,1,1
Data 1,1,1,1,1,1,1,1
Data 1,1,1,1,1,1,1,1
Data 1,1,1,1,1,1,1,1
Data 1,1,1,1,1,1,1,1
Data 1,1,1,1,1,1,1,1

пример: Break It! v1.0

но как это раборает и называется я незнаю. хотябы принцип?

SubZer0 19.10.2005 15:52

у меня пример будет такой:
Код:

graphics3d 800,600,32,2
setbuffer backbuffer()

camera=createcamera()

rotateentity createlight(),20,40,0

positionentity camera,0,60,-30
rotateentity camera,60,0,0

restore map
for j=1 to 13
 for i=1 to 42
        read w
        if w=1
 temp=createcube()
 positionentity temp,i*2-40,0,80-j*2-50
        endif
 next
next


repeat

 renderworld()
 flip

until keyhit(1)
end


.map
data 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
data 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
data 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,1
data 1,0,1,1,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,1,0,0,1
data 1,0,1,0,0,1,0,1,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,1
data 1,0,1,0,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,1
data 1,0,1,1,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,1
data 1,0,1,0,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,1
data 1,0,1,0,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,1
data 1,0,1,1,1,0,0,1,1,1,1,0,1,0,0,0,1,0,0,0,1,1,1,1,1,0,0,1,0,0,0,0,1,0,1,0,0,0,1,0,0,1
data 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,1
data 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
data 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1

немного про Restore-read-data

Restore метка - указывает какие данные нужно читать
read переменная - читает очередное значение (при следующем read будет считано следующее)
data - именно хранилище данных

:)

Жека 19.10.2005 15:53

Минуточку!
Для начала нужно прочитать текст, написанный у impersonalis'a в подписи. Если не "пропрёт", то спросить у него что к чему ;)

Блин, я опять говорю "За!" использовать редактор карт и внешние файлы с инфой об объектах.

Lexa 19.10.2005 16:00

Жека я люитель побаловаться и поискать приключений на свою Zопу ;) :P
SubZer0 клёвый пример :ok: :super: :ok:

я кстати вааще думал нарисовать всё в максе и загрузить нафик и не заморачиватся, а потом предположил - пригодится знать лишнее.

Жека 19.10.2005 16:22

Цитата:

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

Lexa 20.10.2005 00:54

вопрос к impersonalis почему
Цитата:

DATA|READ - баловство!
:rolleyes: ??

jimon 20.10.2005 08:43

ой ненадо!!!

SubZer0 20.10.2005 14:13

Цитата:

Originally posted by jimon@Oct 20 2005, 06:43 AM
ой ненадо!!!
чел спросил, ничего не поделаешь, хорошо что он не спросил почему ГоТо - ламерство! ;) ;)

impersonalis 20.10.2005 19:10

В программе данные для обработки должны быть отделены от самих методов обработки. Использвоание скопа данных, читаемых только в одном напрвалении, да ещё и с обращением через метку... мягко говоря снмжает читаемость алгоритма и переносимоть оного.
Данные такого рода надо подгружать из файлов - ты же текстуры в исходник не загоняешь? )

impersonalis 20.10.2005 19:42

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

alex-mad 20.10.2005 19:47

Цитата:

Originally posted by SubZer0+Oct 20 2005, 12:13 PM--><div class='quotetop'>ЦИТАТА(SubZer0 @ Oct 20 2005, 12:13 PM)</div><div class='quotemain'> <!--QuoteBegin-jimon@Oct 20 2005, 06:43 AM
ой ненадо!!!
чел спросил, ничего не поделаешь, хорошо что он не спросил почему ГоТо - ламерство! ;) ;) [/b][/quote]
хе-хе.... ;)
тут бы такое началось бы!!!
___________________
но если моё мнение...
goto когда захочется может и не помешает :lol:

Lexa 21.10.2005 00:05

Цитата:

чел спросил, ничего не поделаешь, хорошо что он не спросил почему ГоТо - ламерство! ;)* ;)*
А почему ? (шутка). Я понял что хотел сказать impersonalis с первого раза :glag: !!

:lol: :lol:

Lexa 21.10.2005 00:16

У меня это мой первый проэкт (так сказать), поэтому щя побалуюсь DATA'ой. А потом вааще усё в максе нарисую.

Жека 21.10.2005 10:32

Цитата:

А потом вааще усё в максе нарисую.
Статические объекты можно грузить как 1 большой объект, а остальные - "живые" - по отдельности...

SubZer0 21.10.2005 15:39

Цитата:

Originally posted by Жека@Oct 21 2005, 08:32 AM
Статические объекты можно грузить как 1 большой объект, а остальные - "живые" - по отдельности...
не можно, а нужно, один большой объект рендерится намного быстрей чем множество маленьких... сразу ФПС поднимется... :)

jimon 21.10.2005 19:20

кстати вопрос в тему :
когда блиц рисует картинку
обрезание краев картинки когда она залазит за екран происходит внутри блица или уже внутри устройства d3d ?

alcosholik 21.10.2005 20:36

Наиболее вероятно, что D3D. Если его писали нормальные люди, то они точно предусмотрели бы данную ситуацию :)

jimon 21.10.2005 23:33

d3d вообщето не писали... а мастерили в hard'ware :))
(и писали вообщето тоже)

SubZer0 22.10.2005 00:22

Цитата:

Originally posted by jimon@Oct 21 2005, 09:33 PM
d3d вообщето не писали... а мастерили в hard'ware :))
(и писали вообщето тоже)

не совсем точно... целиком d3d никто hardware не делал... d3d это надстройка на 3Д ускоритель, которая упрощает его использование (как драйвер), hardware реализованны лишь основные функции, ессно если их не будет реализовано, то d3d постарается выполнить все алгоритмы программно (что ессно будет медленнее).

говорить, что d3d реализованно hardware - я бы не взялся.

jimon 22.10.2005 00:24

шейдера ... мат. апараты обработки текстур , вертексов


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

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