|
3D-программирование Вопросы, касающиеся программирования 3D мира |
02.10.2006, 22:26
|
#1
|
Бывалый
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений (для 267 пользователей)
|
Несколько вопросов по стратегии
Тут будут лежать вопросы по моей стратегии. Пока он единственный:
Как сделать выделение юнитов прямоугльником (не знаю как это точно назвать, но думаю вы поняли )?
Я конечно могу сделать это при недвигающимся экране, но никак не получается сделать правильно передвижение прямоугольника при передвижении экрана.
Кто знает, плиз хелп.
|
(Offline)
|
|
02.10.2006, 22:33
|
#2
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Re: Несколько вопросов по стратегии
А можно пояснить как это?
Сообщение от Michael
передвижение прямоугольника при передвижении экрана.
|
|
(Offline)
|
|
02.10.2006, 22:52
|
#3
|
|
Re: Несколько вопросов по стратегии
представь карту size minx,miny,maxx,maxy
а на мониторе ты только рендериш часть етой большой карты
при выделении добавляй координаты вот и все
|
|
|
03.10.2006, 02:40
|
#4
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
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
Кстати про что стратежка?
|
(Offline)
|
|
03.10.2006, 22:27
|
#5
|
Бывалый
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений (для 267 пользователей)
|
Re: Несколько вопросов по стратегии
2 HolyDel:
Спасибо, попробую.
Про что игра будет написано здесь http://www.boolean.name/showthread.php?t=1625 (как демку доделаю) ...
|
(Offline)
|
|
04.10.2006, 22:29
|
#6
|
Бывалый
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений (для 267 пользователей)
|
Re: Несколько вопросов по стратегии
To HolyDel:
В общем-то это не совсем то (у меня примерно также было). То что ты написал хорошо работает при RotateEntity cam,90,0,0 , а это далеко не всегда так (практически никогда ).
И цикл проверки на пересечения с юнитами будет работать неправильно, т.к. на карте получается не прямоугольник, а параллелограмм (правильно написал ?).
Выделять я предлагаю так (если есть прямоугольник на экране):
Делаем Pick по каждой точке прямоугольника, а по полученным координатам делаем из этого Mesh. Потом (забыл сказать: у каждого юнита должен быть скрытый габаритный куб или чуть поернутый по Z квадр (для большей скорости)) делаем
If MeshesIntersect(Mesh,u\cube) Then ...
Не помню как правильно пишется команда проверки на пересечение, если чё исправьте.
|
(Offline)
|
|
05.10.2006, 01:04
|
#7
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Несколько вопросов по стратегии
У меня работает. Наверное потомучто камера не наклоняется слишком сильно .
Че то мне кажется тормозить будет. Ибо MeshesIntersect вообще тормозная команда. Лучше сделай чуть повернутый по XZ треугольник.
|
(Offline)
|
|
05.10.2006, 02:36
|
#8
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Re: Несколько вопросов по стратегии
В момент отпускания кнопки мыши при выделении элементарно спроецировать все ентиту на экран и проверить попадание в выделенную область.
__________________
|
(Offline)
|
|
05.10.2006, 22:38
|
#9
|
Бывалый
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений (для 267 пользователей)
|
Re: Несколько вопросов по стратегии
Чем меньше полигонов тем быстрее, для двух квадров вообще летит.
|
(Offline)
|
|
06.10.2006, 23:39
|
#10
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Несколько вопросов по стратегии
вот:
Вложение 1861
и еще скажите что угол близок к 90
|
(Offline)
|
|
07.10.2006, 22:06
|
#11
|
Бывалый
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений (для 267 пользователей)
|
Re: Несколько вопросов по стратегии
Мдя, даже не знаю что сказать. Напиши какой у тебя угол с осью X, я тоже так попробую.
|
(Offline)
|
|
07.10.2006, 22:19
|
#12
|
Бывалый
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений (для 267 пользователей)
|
Re: Несколько вопросов по стратегии
Вот еще вопрос:
Как сделать строго ограниченный круг света, ну как во всех нормальных стратегиях? Можно конечно сделать примерно так, но это не освещает:
|
(Offline)
|
|
08.10.2006, 01:34
|
#13
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Несколько вопросов по стратегии
Какой угол я не знаю, но видно что достаточно маленький. С таким углом вообще-то неудобно управлять юнитами, а удобно использовать для каких - нибудь (даже не знаю как это назвать) показух, так что ли.
Вот еще вопрос:
Как сделать строго ограниченный круг света, ну как во всех нормальных стратегиях?
|
а надо - ли?
|
(Offline)
|
|
08.10.2006, 22:06
|
#14
|
Бывалый
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений (для 267 пользователей)
|
Re: Несколько вопросов по стратегии
А как же? Надо чтоб было темно, а юниты освещали вокруг себя.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:28.
|