forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Несколько вопросов по стратегии (http://forum.boolean.name/showthread.php?t=1624)

MiXaeL 02.10.2006 22:26

Несколько вопросов по стратегии
 
Тут будут лежать вопросы по моей стратегии. Пока он единственный:

Как сделать выделение юнитов прямоугльником (не знаю как это точно назвать, но думаю вы поняли ;) )?
Я конечно могу сделать это при недвигающимся экране, но никак не получается сделать правильно передвижение прямоугольника при передвижении экрана.
Кто знает, плиз хелп.;)

pax 02.10.2006 22:33

Re: Несколько вопросов по стратегии
 
А можно пояснить как это?
Цитата:

Сообщение от Michael
передвижение прямоугольника при передвижении экрана.


jimon 02.10.2006 22:52

Re: Несколько вопросов по стратегии
 
представь карту size minx,miny,maxx,maxy
а на мониторе ты только рендериш часть етой большой карты
при выделении добавляй координаты :) вот и все

HolyDel 03.10.2006 02:40

Re: Несколько вопросов по стратегии
 
У меня так:

If MouseDown(1)
If isStart
srx1#=px
srz1#=pz
sry1#=py
isStart=0

Else
srx2#=px
srz2#=pz
CameraProject cam,srx1,sry1,srz1
scrPx=ProjectedX()
scrPy=ProjectedY()+(1-fullview)*32
CameraProject cam,px,py,pz
scrPx2=ProjectedX()
scrPy2=ProjectedY()+(1-fullview)*32

minx#=min(scrPx,scrPx2)
maxx#=max(scrPx,scrPx2)
minz#=min(scrPy,scrPy2)
maxz#=max(scrPy,scrPy2)

Rect minx,minz,maxx-minx,maxz-minz,0
Text 10,100,scrPx
Text 10,120,scrPy
Text 10,140,scrPx2
Text 10,160,scrPy2

minx#=min(srx1,srx2)
maxx#=max(srx1,srx2)
minz#=min(srz1,srz2)
maxz#=max(srz1,srz2)

For i=1 To ttu(myteam)
ent=un(myteam,i,0)
If EntityX(ent)>minx And EntityZ(ent)>minz And EntityX(ent)<maxx And EntityZ(ent)<maxz Then un(myteam,i,4)=1 Else un(myteam,i,4)=0
Next

EndIf
Else

If isstart=0 ;

EndIf

isStart=1
EndIf

Кстати про что стратежка?

MiXaeL 03.10.2006 22:27

Re: Несколько вопросов по стратегии
 
2 HolyDel:
Спасибо, попробую.

Про что игра будет написано здесь http://www.boolean.name/showthread.php?t=1625 (как демку доделаю) ;) ...

MiXaeL 04.10.2006 22:29

Re: Несколько вопросов по стратегии
 
To HolyDel:
В общем-то это не совсем то (у меня примерно также было). То что ты написал хорошо работает при RotateEntity cam,90,0,0 , а это далеко не всегда так (практически никогда :( ).

И цикл проверки на пересечения с юнитами будет работать неправильно, т.к. на карте получается не прямоугольник, а параллелограмм (правильно написал :@ ?).

Выделять я предлагаю так (если есть прямоугольник на экране):

Делаем Pick по каждой точке прямоугольника, а по полученным координатам делаем из этого Mesh. Потом (забыл сказать: у каждого юнита должен быть скрытый габаритный куб или чуть поернутый по Z квадр (для большей скорости)) делаем

Код:


If MeshesIntersect(Mesh,u\cube) Then ...

Не помню как правильно пишется команда проверки на пересечение, если чё исправьте.;)

HolyDel 05.10.2006 01:04

Re: Несколько вопросов по стратегии
 
У меня работает. Наверное потомучто камера не наклоняется слишком сильно .
Че то мне кажется тормозить будет. Ибо MeshesIntersect вообще тормозная команда. Лучше сделай чуть повернутый по XZ треугольник.

tormoz 05.10.2006 02:36

Re: Несколько вопросов по стратегии
 
В момент отпускания кнопки мыши при выделении элементарно спроецировать все ентиту на экран и проверить попадание в выделенную область.

MiXaeL 05.10.2006 22:38

Re: Несколько вопросов по стратегии
 
Чем меньше полигонов тем быстрее, для двух квадров вообще летит.

HolyDel 06.10.2006 23:39

Re: Несколько вопросов по стратегии
 
Вложений: 2
вот:
Вложение 1861
и еще скажите что угол близок к 90 :)

MiXaeL 07.10.2006 22:06

Re: Несколько вопросов по стратегии
 
Мдя, даже не знаю что сказать. Напиши какой у тебя угол с осью X, я тоже так попробую.

MiXaeL 07.10.2006 22:19

Re: Несколько вопросов по стратегии
 
Вложений: 2
Вот еще вопрос:
Как сделать строго ограниченный круг света, ну как во всех нормальных стратегиях? Можно конечно сделать примерно так, но это не освещает:

HolyDel 08.10.2006 01:34

Re: Несколько вопросов по стратегии
 
Какой угол я не знаю, но видно что достаточно маленький. С таким углом вообще-то неудобно управлять юнитами, а удобно использовать для каких - нибудь (даже не знаю как это назвать) показух, так что ли.
Цитата:

Вот еще вопрос:
Как сделать строго ограниченный круг света, ну как во всех нормальных стратегиях?
а надо - ли?

MiXaeL 08.10.2006 22:06

Re: Несколько вопросов по стратегии
 
А как же? Надо чтоб было темно, а юниты освещали вокруг себя.


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

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