Несколько вопросов по стратегии
Тут будут лежать вопросы по моей стратегии. Пока он единственный:
Как сделать выделение юнитов прямоугльником (не знаю как это точно назвать, но думаю вы поняли ;) )? Я конечно могу сделать это при недвигающимся экране, но никак не получается сделать правильно передвижение прямоугольника при передвижении экрана. Кто знает, плиз хелп.;) |
Re: Несколько вопросов по стратегии
А можно пояснить как это?
Цитата:
|
Re: Несколько вопросов по стратегии
представь карту size minx,miny,maxx,maxy
а на мониторе ты только рендериш часть етой большой карты при выделении добавляй координаты :) вот и все |
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 Кстати про что стратежка? |
Re: Несколько вопросов по стратегии
2 HolyDel:
Спасибо, попробую. Про что игра будет написано здесь http://www.boolean.name/showthread.php?t=1625 (как демку доделаю) ;) ... |
Re: Несколько вопросов по стратегии
To HolyDel:
В общем-то это не совсем то (у меня примерно также было). То что ты написал хорошо работает при RotateEntity cam,90,0,0 , а это далеко не всегда так (практически никогда :( ). И цикл проверки на пересечения с юнитами будет работать неправильно, т.к. на карте получается не прямоугольник, а параллелограмм (правильно написал :@ ?). Выделять я предлагаю так (если есть прямоугольник на экране): Делаем Pick по каждой точке прямоугольника, а по полученным координатам делаем из этого Mesh. Потом (забыл сказать: у каждого юнита должен быть скрытый габаритный куб или чуть поернутый по Z квадр (для большей скорости)) делаем Код:
|
Re: Несколько вопросов по стратегии
У меня работает. Наверное потомучто камера не наклоняется слишком сильно .
Че то мне кажется тормозить будет. Ибо MeshesIntersect вообще тормозная команда. Лучше сделай чуть повернутый по XZ треугольник. |
Re: Несколько вопросов по стратегии
В момент отпускания кнопки мыши при выделении элементарно спроецировать все ентиту на экран и проверить попадание в выделенную область.
|
Re: Несколько вопросов по стратегии
Чем меньше полигонов тем быстрее, для двух квадров вообще летит.
|
Re: Несколько вопросов по стратегии
Вложений: 2
|
Re: Несколько вопросов по стратегии
Мдя, даже не знаю что сказать. Напиши какой у тебя угол с осью X, я тоже так попробую.
|
Re: Несколько вопросов по стратегии
Вложений: 2
Вот еще вопрос:
Как сделать строго ограниченный круг света, ну как во всех нормальных стратегиях? Можно конечно сделать примерно так, но это не освещает: |
Re: Несколько вопросов по стратегии
Какой угол я не знаю, но видно что достаточно маленький. С таким углом вообще-то неудобно управлять юнитами, а удобно использовать для каких - нибудь (даже не знаю как это назвать) показух, так что ли.
Цитата:
|
Re: Несколько вопросов по стратегии
А как же? Надо чтоб было темно, а юниты освещали вокруг себя.
|
Часовой пояс GMT +4, время: 01:43. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot