[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум Panda3D - по русски » Panda3D » Общие вопросы » Вопросы
Вопросы
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
 
Форум Panda3D - по русски » Panda3D » Общие вопросы » Вопросы
Поиск: