[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум Panda3D - по русски » Panda3D » Для начинающих » ДеЦЦкий сад "ПандЁнок"
ДеЦЦкий сад "ПандЁнок"
ninthДата: Среда, 06.04.2011, 01:53 | Сообщение # 121
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
Я бы сделал словарь таким образом: в качестве ключа строка, представляющая кодовое имя предмета типа '_HEALTH_', а в качестве значения список [InventoryItem, count]. Предметы по-любому придётся делать отдельным классом. Желательно подумать об универсальности - т.е. например у всех предметов могут быть свойства
кодовое_имя
изображение
название
описание
часть_тела_на_которую_одевается #если 0 (False), то неодевабельный
действие_по_дефолту #ссылка на общую функцию, например лечилка добавит hp, свиток скастит заклинание

Если потребуется что-то совсем отдельное, то наследовать от базового класса предмета.
Хорошим тоном будет сразу озаботиться о загрузке имени и описания из файла перевода (вот для чего кодовое имя предмета)

 
DrumkillerДата: Воскресенье, 17.04.2011, 17:03 | Сообщение # 122
Рядовой
Группа: Пользователи
Сообщений: 3
Награды: 0
Репутация: 0
Статус: Offline
http://panda3d.org.ru/publ/4-1-0-26 Делал этот урок и в итоге при запуске открывется командная строка, затем окно чёрное и потом сходу всё закрывается. Ниже данм скрипт и пожалуйста посмотрите его. Если в нём что-то не так, то скажите.
Прикрепления: main.py (0.2 Kb) · location.py (0.8 Kb)


Сообщение отредактировал Drumkiller - Воскресенье, 17.04.2011, 17:03
 
ninthДата: Вторник, 19.04.2011, 01:49 | Сообщение # 123
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
Ошибки следующие:
1. Лишний пробел (баг bbcode при копировании кода из статьи или форума, надо следить за этим) "self.ter rain.setFactor(64)" а должно быть "self.terrain.setFactor(64)"
2. taskMgr.add(self.update,'location_update') записан в неправильном месте с неправильным отступом. Должно быть так:
Code
    def __init__(self):  
         self.terrain=GeoMipTerrain("Terrain")  
         taskMgr.add(self.update,'location_update')

3. Неправильный импорт Filename - у тебя он засунут между процедурами loadTerrain и Update, а должен быть во второй строке.

Итого location.py

Прикрепления: 2186852.png (13.1 Kb)
 
ninthДата: Вторник, 19.04.2011, 01:54 | Сообщение # 124
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
Но вообще, тебе неплохо бы обзавестись редактором, который может запускать твой файл и показывать вывод скрипта, в т.ч. ошибок
И ещё раз напоминаю по поводу синтаксиса - в питоне отступы очень важны, т.к. заменяют операторные скобки и begin-end'ы других языков.
 
dis_nodeДата: Вторник, 19.04.2011, 21:00 | Сообщение # 125
Лейтенант
Группа: Пользователи
Сообщений: 56
Награды: 0
Репутация: 2
Статус: Offline
Из пережитого...

В main.py имеется
from modules.location import gameLocation

Если папку modules сам создавал, в нем должен быть файл __init__.py, иначе он неувидиццо.

P.S. Дайте поделицца, я был жестоко измучан етим косяком.

Сообщение отредактировал dis_node - Вторник, 19.04.2011, 21:03
 
ninthДата: Среда, 20.04.2011, 08:34 | Сообщение # 126
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
Хм, я вроде про __init__.py в уроке говорил. Может стоит отдельно выделить этот момент?
 
kedoxДата: Среда, 18.05.2011, 05:59 | Сообщение # 127
Рядовой
Группа: Пользователи
Сообщений: 1
Награды: 0
Репутация: 0
Статус: Offline
from modules.control import cameraHandler

ругается на эту строку *no module named modules.control*

 
serg-kkzДата: Среда, 18.05.2011, 09:04 | Сообщение # 128
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: Offline
1. В папке modules должен находиться control.py
2. В папке modules должен находиться пустой файл с обязательным названием __init__.py
3. Файл main.py должен быть в одной папке с папкой modules

Дело в том файл __init__.py должен лежать в каждой папке указанной строке в from. Папки указываются через точку, это как в пути слэши.
примечание: последние и первое имя в строке, не всегда может быть папкой, а модулем.


ООП  -  
 
NedrovaiДата: Суббота, 16.07.2011, 23:23 | Сообщение # 129
Рядовой
Группа: Пользователи
Сообщений: 3
Награды: 0
Репутация: 0
Статус: Offline
доброго времени суток! Я совсем ещё "зелёный" в питоне и панде, и даётся мне это туговато. В связи с этим хотелось бы в уроках "детского сада" увидеть урок о 2D. Проще сказать даже не о 2D а о том как сделать меню? Тоесть начало самое игры. Запустил чтобы и перед тобой картинка с кнопочками: начать, настройки, загрузить ... в особенности интересует переход между сценами и полоса загрузки. Очень важный момент это сохронение и загрузка. Еслив можно плиз дополните гнома такими вещами, без примера наглядного ваще разобраться в этом нимогу.

Заранее благодарен.
 
serg-kkzДата: Воскресенье, 17.07.2011, 09:58 | Сообщение # 130
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: Offline
Nedrovai тебе пример в рамках урока нужно? могу дать пример где есть меню и загрузка определённого уровня по кнопке, даже могу его доработать под твои требования. Но только урок я писать не готов пока... сам "зелёный"), но формате, вопрос - ответ постараюсь помочь касаемого моего примера.

ООП  -  
 
NedrovaiДата: Воскресенье, 17.07.2011, 13:09 | Сообщение # 131
Рядовой
Группа: Пользователи
Сообщений: 3
Награды: 0
Репутация: 0
Статус: Offline
serg-kkz, с програмированием я сиалкуивался лиш в конструктори ТЕS CS-4 (обливион) скриптовый язык OBSE. Разобрался в нём так как примеров было придостаточно(вся игра открыта). Сюда пришел так как руки в TES CS всёже связаны, а у меня идея есть о создании игры в стили аля X-COM(очень старая рпг).
вот мне и нужен пример простейшего стартового миню для "гнома" и переход между сцен.
Вот так:
запустил приложение -> "стартовое миню" -> 1локация -> 2локация

условия перехода: из стартового меню это клик мышкой по строке(кнопки)
между локациями зто, плеер в определённом участке локации

и ещё такой момент при нажатии Esc в любой локации переход в стартовое миню

Также небольшой пример по сохронению и загрузки.

в стартовом миню две кнопки (сохронить загрузить) по клику мыши. сохроняет местоположение гнома и соответственно загружает его положение в локации.
При загрузки локации или переходе между локациями "загрузка"
тоесть полоса загрузки в процентах

Хотелось бы видеть это именно для "гнома" ибо дополнить и развить дальше ваш замеательный пример и собственно сам проект "панда по русски".
 
serg-kkzДата: Воскресенье, 17.07.2011, 13:49 | Сообщение # 132
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: Offline
Nedrovai думаю по сути не важно для чего меню, главное принципы да? меню можно прикрутить к чему угодно. Половина в моём примере уже реализовано: список карт - кликнул загрузил, кнопка выход, при нажатии Esc открывается - закрывается, полоска загрузки. Что касается загрузки и сохранения, то сначала надо саму игру сделать, т. е. особо не чего в данный момент сохранять и не зачем, но организовать сохранения по координатам гнома уже можно, просто нужно сначала создать точку старта, а положение гнома привязать к ней. Также нужно разработать структуру последовательности загрузки для этого, нужно будет создать файл сохранения и его обработку чтение-запись например точки старта.

Пример "гнома" дополнить в принципе менюшкой я уже могу, но в не своём коде долго разбираюсь, не факт что под эти требования нужно переделать одну треть кода, по новой создать структуру кода, зависимости и т.д.

Хотя я думаю тебе не очень должно мешать отсутствие меню для дополнения примера ибо не через него будешь дополнять то, или через него?

Вот скрин меню, оформление можно менять т.к. основа изображения, пока о дизайне не думаю тока чтоб работало:

Прикрепления: 3284586.png (23.4 Kb)


ООП  -  
 
NedrovaiДата: Воскресенье, 17.07.2011, 14:25 | Сообщение # 133
Рядовой
Группа: Пользователи
Сообщений: 3
Награды: 0
Репутация: 0
Статус: Offline
serg-kkz, спасибо что отозвался, можно код ?
Желательно дерево папок что где лежит и т.д
кинь еслив не трудно пожалусто
 
serg-kkzДата: Воскресенье, 17.07.2011, 14:38 | Сообщение # 134
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: Offline
Хорошо попозже, доработаю полоску. Сегодня будет, всё в архиве, структура есть папка Levels, Data, и.д. в общем под шаблон индуктивно разберёшься, а нет можешь задавать вопросы. Только в другой теме.

ООП  -  
 
serg-kkzДата: Воскресенье, 17.07.2011, 22:05 | Сообщение # 135
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: Offline
Nedrovai в общем застрял на полоске загрузки, выложу как только разберусь с threading без него ни как.

ООП  -  
 
Форум Panda3D - по русски » Panda3D » Для начинающих » ДеЦЦкий сад "ПандЁнок"
Поиск: