Вопросы
|
|
Rerzez9491 | Дата: Суббота, 02.05.2009, 17:10 | Сообщение # 301 |
Рядовой
Группа: Пользователи
Сообщений: 12
Награды: 0
Репутация: 0
Статус: Offline
| ninth, да нет,вроде один раз только регестрировался...ну да шут с ним...пусть будет этот ник
|
|
| |
nuclear_ | Дата: Суббота, 02.05.2009, 17:15 | Сообщение # 302 |
Сержант
Группа: Пользователи
Сообщений: 27
Награды: 0
Репутация: 0
Статус: Offline
| ninth,да не,это я для Rerzez9491 писал
|
|
| |
k0t | Дата: Суббота, 02.05.2009, 18:29 | Сообщение # 303 |
Подполковник
Группа: Пользователи
Сообщений: 104
Награды: 0
Репутация: 4
Статус: Offline
| В питоне массивы несколько непривычно для меня организованы ) Просто меня смутило то, что можно задать unit[1] = loader.load(blabla), то есть статический меш можно загнать в массив сразу, а актера нужно вот так, через список. В общем, я почитал умные книжки по питону и проникся. Насчет поиска - поиском сделать у меня не получилось. Не въехал - скажем, делаем несколько актеров в цикле, с одинаковыми именами, но привязанных к разным родителям-пустышкам. Вопрос: как по пустышке найти актера? Можно пример правильного кода? В принцие, уже не нужно, но на будущее пригодится. Вообще пока побольше непонятного - я плоховато знаю английский, чтобы свободно понимать маны, что у Панды на сайте... К сожалению. выбор юнитов мышкой с грехом напополам организовал. Поняв половину того, чего сделал... Все же таких манов, как Деццкий Сад - жутко не хватает ) Появился следующий вопрос - как определить координаты столкновения луча камеры и террейна? То бишь как определить координаты места, куда ты ткнул мышкой, на террейне? Какой метод? Вопросы все копятся. Каким способом лучше сделать подсветку модели? В смысле - выделение.
Сообщение отредактировал k0t - Суббота, 02.05.2009, 20:31 |
|
| |
Rerzez9491 | Дата: Суббота, 02.05.2009, 21:27 | Сообщение # 304 |
Рядовой
Группа: Пользователи
Сообщений: 12
Награды: 0
Репутация: 0
Статус: Offline
| Собраться.Что можете сказать по поводу PyPy?Может ли это способствовать ускорению питона
|
|
| |
ninth | Дата: Суббота, 02.05.2009, 22:23 | Сообщение # 305 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| k0t Да, непривычно, но когда разберёшься, оказываются довольно удобны. unit[1] = loader.load(blabla) что-то тут не так, проверь ещё раз. Такое не должно было сработать, если у тебя изначально массив пустой, т.е. заданный unit=[] - интерпретатор ругнулся бы на выход индекса за пределы массива. Любые элемены в массив добавляются с помощью append или insert, либо задаются изначально unit=[aaa,bbb,blah] а потом уже их можно менять или извлекать по индексу Эм, что значит найти по пустышке? У тебя есть переменная-ссылка на пустышку и тебе надо получить привязанного к ней актёра? По поводу подсветки - это скорее вопрос эстетический )) Можно нарисовать под ним курсорчик, можно обвести боундинг боксом, можно поиграть с цветами актёра ) Координаты куда ткнул - здесь писать довольно много, проще на примере. Покажу в деццком саду, постараюсь в ближайшее время.
|
|
| |
ninth | Дата: Суббота, 02.05.2009, 22:24 | Сообщение # 306 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Rerzez9491, ускорить - это вряд ли
|
|
| |
Rerzez9491 | Дата: Суббота, 02.05.2009, 22:54 | Сообщение # 307 |
Рядовой
Группа: Пользователи
Сообщений: 12
Награды: 0
Репутация: 0
Статус: Offline
| Как я понял PyPy служит для оптимизации языка питон. ninth, Для чего вообще это,на сколько полезно
|
|
| |
nuclear_ | Дата: Воскресенье, 03.05.2009, 08:48 | Сообщение # 308 |
Сержант
Группа: Пользователи
Сообщений: 27
Награды: 0
Репутация: 0
Статус: Offline
| PyPy-это интерпретатор питона,написанный на самом питоне. На сколько я помню был создан для того, чтобы показать возможности питона.
|
|
| |
Rerzez9491 | Дата: Воскресенье, 03.05.2009, 14:06 | Сообщение # 309 |
Рядовой
Группа: Пользователи
Сообщений: 12
Награды: 0
Репутация: 0
Статус: Offline
| nuclear_, ага,для того чтобы увеличить скорость в разы...релиз версии 1.0 уже давно состоялся, даже уже есть 1.1.0 багс фикс.Эти исследования были профинансированы евросуоюзом,шутка ли...так что нужно обязательно посмотреть и попробывать что такое PyPy и с чем его едят
|
|
| |
ninth | Дата: Воскресенье, 03.05.2009, 14:19 | Сообщение # 310 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| k0t,С этим есть прблемы. Из мануала: Замечание - Actor класс питона, расширяющий C++ класс NodePath. Обычно он выполняет то, что вы ожидали. Однако, есть несколько нюансов. Когда вы прикрепляете актёра к графу сцены, изкоуровневая C++ панда создаёт только запись NodePath в графе сцены, который существует до тех пор пока вы храните указатель на актёра в объектах питона. Если вы разрушите актёра — то всего лишь прекратится его анимация (т. к. это больше не актёр), а видимая геометрия останется. Кроме того, даже если у вас есть объект типа Актёр и вы получите новый указатель на него из графа сцены (например при коллизиях), то это будет обычный указатель на NodePath, а не на актёра
|
|
| |
3dmax | Дата: Воскресенье, 03.05.2009, 14:24 | Сообщение # 311 |
Генерал-майор
Группа: Проверенные
Сообщений: 334
Награды: 0
Репутация: 1
Статус: Offline
| k0t, я так понимаю ты делаешь стратегию ?
|
|
| |
nuclear_ | Дата: Воскресенье, 03.05.2009, 14:28 | Сообщение # 312 |
Сержант
Группа: Пользователи
Сообщений: 27
Награды: 0
Репутация: 0
Статус: Offline
| Rerzez9491,сомнительно это все Ну да ладно,щас скачаю и соберу =)
|
|
| |
k0t | Дата: Воскресенье, 03.05.2009, 15:33 | Сообщение # 313 |
Подполковник
Группа: Пользователи
Сообщений: 104
Награды: 0
Репутация: 4
Статус: Offline
| 3dmax - Ага, тактическую пошаговку. Нечто среднее между Героями, Варлордами, Веснотом и, может, чуть В тылу врага. Впрочем, я буду еще долго ее делать. Выложу наработки и буду пытаться заманить моделеров-аниматоров-итд только когда (если) будет что-то вменяемое. Пока что есть одна моделька, я на сайте укр.блендера выкладывал, да основы движка... Ну и, естессно, вполне продуманная идея. Зы. Сейчас я склоняюсь к тактике с большими элементами РПГ. Но пошаговость будет точно, в этом прикол и смысл ) ninth, ну в общем криво и косо я решил проблему, а потом убрал ее первопричину. Ну а с подсветкой еще поразбираюсь, подумаю. Насчет других способов выбора, типа боудинг бокса - спасибо за идею, у меня кое-что появилось в мыслях интересное...
Сообщение отредактировал k0t - Воскресенье, 03.05.2009, 15:40 |
|
| |
Rerzez9491 | Дата: Воскресенье, 03.05.2009, 16:37 | Сообщение # 314 |
Рядовой
Группа: Пользователи
Сообщений: 12
Награды: 0
Репутация: 0
Статус: Offline
| nuclear_, мужиг)только не торопись.Не говори сразу-какашка)покапайся,поковыряйся,опроси чуваков на форумах кто уже имел дело с.
|
|
| |
k0t | Дата: Воскресенье, 03.05.2009, 17:21 | Сообщение # 315 |
Подполковник
Группа: Пользователи
Сообщений: 104
Награды: 0
Репутация: 4
Статус: Offline
| ninth, можешь сказать, в какую сторону копать с поиском координат клика мышки по террайну? Вектор направления на клик есть, получается, но, как найти длину до точки столкновения луча с объектом? А то выбор юнитов по клику я сделал, понял, как работает, и доволен... Остальное пока кхм ) зы Нашел. всего навсего Code self.myHandler.getEntry(0).getSurfacePoint(render) где myHandler - CollisionHandlerQueue(), то бишь куда мы собираем все то, с чем столкнулся наш доблестный луч. Возвращает трехмерный вектор. Я радуюсь и иду все же учить английский. ззы. Всех уже достал. но может ответят. Чисто по питону: Как сделать перебор по экземплярам класса? Можно ли запихнуть экземпляры класса в список? Далее. Пардон, но опять по питону. Quote Есть файл main.py, есть в папке modules все остальное. Скажем, имеется player, созданый в main.py с помощью какого-то модуля. Как из другого модуля получить доступ к экземпляру player? Этот вопрос волнует меня уже давно. зы. - решено, открыл для себя глобальные переменные. Черт, ощущаю себя аццким флудерастом. еще. про менеджер задач. Нужно чуть добавить к управлению - по поводу пиканья моделей. Code taskMgr.add(self.dragTask,'dragTask', extraArgs=[player]) сама функция начинается так: Code def dragTask(self,task,player): ошибка: TypeError: dragTask() takes exactly 3 arguments (2 given) если задать больше аргументов, в экстра, скажем, self попробовать прислать, то AttributeError: controls instance has no attribute 'cont' где контролс - название всего класса управления.
Сообщение отредактировал k0t - Понедельник, 04.05.2009, 09:02 |
|
| |