ДеЦЦкий сад "ПандЁнок"
|
|
ninth | Дата: Среда, 16.03.2011, 15:57 | Сообщение # 91 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Да, попробуй дрова обновить - может с ними проблема.
|
|
| |
pihto | Дата: Четверг, 17.03.2011, 21:38 | Сообщение # 92 |
Сержант
Группа: Пользователи
Сообщений: 27
Награды: 0
Репутация: 0
Статус: Offline
| не помогло
|
|
| |
ninth | Дата: Четверг, 17.03.2011, 23:21 | Сообщение # 93 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| попробуй перед вызовом run() добавить строки globalClock.setMode(ClockObject.MLimited); globalClock.setFrameRate(60); И ещё... что-то я глянул - цифра 75 на фпс - это ведь неспроста - вероятно вертикальная синхронизация включена автоматом - проверь и если так, попробуй выключить её sync-video #f
|
|
| |
pihto | Дата: Четверг, 17.03.2011, 23:38 | Сообщение # 94 |
Сержант
Группа: Пользователи
Сообщений: 27
Награды: 0
Репутация: 0
Статус: Offline
| ClockObject is not defined Добавлено (17.03.2011, 23:37) --------------------------------------------- нашёлся в globalClock. заработало!) терь не подлагивает ninth спс огромное!) Добавлено (17.03.2011, 23:38) --------------------------------------------- а что эти строки делают?
|
|
| |
ninth | Дата: Пятница, 18.03.2011, 00:20 | Сообщение # 95 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Судя по всему, у тебя проблема в том, что getDt() возвращает резко разнящееся время - то-ли пропускает кадры для синхронизации то-ли х.з. ещё что. Вероятно, без синхронизаци у тебя FPS будут значительно выше - в 2-3 раза. Этот фикс делает ограничение на максимальные FPS и тем самым стабилизирует значение getDt()
|
|
| |
pihto | Дата: Среда, 23.03.2011, 03:15 | Сообщение # 96 |
Сержант
Группа: Пользователи
Сообщений: 27
Награды: 0
Репутация: 0
Статус: Offline
| да.. странно.. когда оставляеш в настройках видюхи "выключить синхронизацию если она не включена в приложении" а в приложении она не включена она все равно работает и фпс = 75.. а когда ставиш галочку выключить вообще то тогда фпс 200 и нет этого глюка типания Добавлено (18.03.2011, 15:35) --------------------------------------------- походу в панде автоматом включена.. ставиш loadPrcFileData("editor-startup", "sync-video #f") все норм Добавлено (23.03.2011, 03:15) --------------------------------------------- я вот думаю.. мб дальше развивать эту рпгшку? я пока пытаюсь сделать её сетевой(затруднения с просчётами координат на сервере), но я думаю это я не скоро прикручу да и вообще это я так для себя.. в какую сторону её развивать? у меня 2 мысли: сделать отображение жизней мобов по нажатию на них мышкой и ктото там кричал инвентарь. И первое и второе я думаю сделать не сложно (в теории), так что начну пока ченить делать.
Сообщение отредактировал pihto - Среда, 23.03.2011, 03:15 |
|
| |
ninth | Дата: Среда, 23.03.2011, 08:19 | Сообщение # 97 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Ну, вообще у неё не самая удачная структура для развития в качестве чего-то большего чем обучающий кусок. Могут затыки возникнуть. Хотя как знать... Инвентарь можно для начала просто в качестве словарика организовать - без визуализации - просто для хранения инфы о предметах. А в первую очередь нужно делать взаимодействие персонажа с окружающим миром - типа моба атаковать, предмет подобрать, на объект воздействовать.
|
|
| |
pihto | Дата: Среда, 23.03.2011, 23:43 | Сообщение # 98 |
Сержант
Группа: Пользователи
Сообщений: 27
Награды: 0
Репутация: 0
Статус: Offline
| чтото hasTag не могу заставить работать... на модель актёра(моба) цепляю тэг tmpch.model.setTag('xx','x'). в control.py в функции pick пишу self.pickerQ.getEntry(0).getIntoNodePath().hasTag('xx') - возвращает 0..
|
|
| |
ninth | Дата: Четверг, 24.03.2011, 00:18 | Сообщение # 99 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Тебе тэг нужно вешать не на модель актёра а на CollisionSpere, которую у тебя собсно и детектит луч.
|
|
| |
pihto | Дата: Четверг, 24.03.2011, 02:13 | Сообщение # 100 |
Сержант
Группа: Пользователи
Сообщений: 27
Награды: 0
Репутация: 0
Статус: Offline
| Да пробовал тоже.. libpanda.CollisionSphere object has no attribute 'setTag' Добавлено (24.03.2011, 02:13) --------------------------------------------- и кстати делаю визуализацию коллизий - луч коллидица с моделькой
Сообщение отредактировал pihto - Четверг, 24.03.2011, 02:01 |
|
| |
ninth | Дата: Четверг, 24.03.2011, 02:56 | Сообщение # 101 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Эм.. не должен он коллидить модельку, если ты ничего не менял. Cделай print self.pickerQ.getEntry(0).getIntoNodePath().getName() А тэг - я не совсем правильно сказал - нужно ставть не на саму CollisionSphere, а на NodePath полученный в результате присоединения сферы к модельке. В Базовом примере это EnvColNp И ещё from маску луча надо будет измеить так чтобы она детектила то что тебе надо. Например земля у тебя setIntoCollideMask(BitMask32.bit(1)) Сфера вокруг персонажа setIntoCollideMask(BitMask32.bit(2)) Тогда pickerCollN.setFromCollideMask(BitMask32.bit(1) | BitMask32.bit(2))
|
|
| |
pihto | Дата: Четверг, 24.03.2011, 15:21 | Сообщение # 102 |
Сержант
Группа: Пользователи
Сообщений: 27
Награды: 0
Репутация: 0
Статус: Offline
| все так сделал. луч проходит почемуто мимо сферы.. не коллидится с ней.. да и вообще сферы между собой не коллидятся
Сообщение отредактировал pihto - Четверг, 24.03.2011, 15:22 |
|
| |
ninth | Дата: Четверг, 24.03.2011, 16:45 | Сообщение # 103 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| дай вывод масок коллизий для твоих объектов print np.getIntoCollideMask() print np.getFromCollideMask() для сферы и для луча
|
|
| |
pihto | Дата: Четверг, 24.03.2011, 18:26 | Сообщение # 104 |
Сержант
Группа: Пользователи
Сообщений: 27
Награды: 0
Репутация: 0
Статус: Offline
| во
|
|
| |
ninth | Дата: Четверг, 24.03.2011, 19:57 | Сообщение # 105 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Ну дык у тебя на сфере Into маска нулевая. Поставь так. self.EnvCol.setFromCollideMask(BitMask32.bit(2)) self.EnvCol.setIntoCollideMask(BitMask32.bit(2))
|
|
| |