Пользователи · Поиск по форуму · · Вход в аккаунт · Регистрация |
Форум о визуальных новеллах Для разработчиков Ren'Py Помощь по Ren'Py (Вопрос\Ответ) |
Помощь по Ren'Py (Вопрос\Ответ) |
dmit#676СОНЦЕ подвиг на создание примера и с SFont шрифтом - пример
планета FOREVER!!! Unkenbro team
|
AxelK#678Касательно перекрашенной картинки с прошлой страницы.
Всё бы ничего, но с такой картинкой на экране нельзя делать save/reload Код I'm sorry, but an uncaught exception occurred. While running game code: File "renpy/common/00action_file.rpy", line 372, in __call__ renpy.save(fn, extra_info=save_name) TypeError: no default __reduce__ due to non-trivial __cinit__ (perhaps renpy.game.log.log[9].context.scene_lists.layers[u'master'][0].displayable.raw_child.child_surf = <Surface(512x288x32)>) Я так понимаю, к классу class MyBlit(renpy.Displayable): Надо доопределить еще какой-то стандартный метод типа __reduce__ ? Или чего-то вроде имени не хватает в __init__ ? |
AxelK#681В общем, работает (у меня) до первого эффекта. renpy.show('_', at_list=[truecenter], layer='master', what=test_image, zorder=1, tag='bg', behind=[]) нормально renpy.show('_', at_list=[truecenter], layer='master', what=test_image, zorder=1, tag='bg', behind=[]) renpy.with_statement(Dissolve(0.5)) = ошибка |
AxelK#682СОНЦЕ, кажися починил. Не знаю, в чём проблема, но это явно что-то при сериализации cpickle
Код class MyBlit(renpy.Displayable): def __init__(self, child, colors, **kwargs): super(MyBlit, self).__init__(**kwargs) [b][color=#ff0000]self.child = renpy.displayable(child)[/color][/b] # вместо self.child_surf = renpy.load_surface(child) self.colors = colors self.width = 0 self.height = 0 def render(self, width, height, st, at): displayable_child = renpy.displayable(self.child) child_render = renpy.render(displayable_child, width, height, st, at) self.width, self.height = child_render.get_size() [b][color=#ff0000]surf = renpy.load_surface(self.child)[/color] [/b] # вместо surf = self.child_surf surf.lock() for i in range(int(self.width)): for j in range(int(self.height)): pix = surf.get_at((i, j)) for cf, ct in self.colors: if pix == cf: surf.set_at((i, j), ct) surf.unlock() pix = None render = renpy.Render(self.width, self.height) render.blit(surf, (0, 0)) return render Теперь отображает, красит, сохраняет и загружает (пока что) без ошибок |
Promenadlimpan#683Всем привет, не могу понять, как индифицировать класс. К примеру
Код python: class P (Object): def __init__(self, name, age, opinion): self.Age = age self.Opinion = op self.name = "" h = P ("Иван", 12, 1) label start: h "Что-либо" в таком случае происходит ошибка Exception: Sayer 'H' is not defined. Если использовать define Код python: class P (Object): def __init__(self, name, age, opinion): self.Age = age self.Opinion = op self.name = "" define h = P("Иван", 12, 1) label start: h "Что-либо" Код I'm sorry, but an uncaught exception occurred. While running game code: File "game/script.rpy", line 13, in script . File "game/script.rpy", line 13, in <module> NameError: name 'P' is not defined -- Full Traceback ------------------------------------------------------------ Full traceback: File "game/script.rpy", line 13, in script # Определение персонажей игры. File "C:\Games\renpy-7.3.5-sdk\renpy\ast.py", line 2110, in execute value = renpy.python.py_eval_bytecode(self.code.bytecode) File "C:\Games\renpy-7.3.5-sdk\renpy\python.py", line 2052, in py_eval_bytecode return eval(bytecode, globals, locals) File "game/script.rpy", line 13, in <module> # Определение персонажей игры. NameError: name 'P' is not defined Windows-8-6.2.9200 Ren'Py 7.3.5.606 Classes 1.0 Sat Feb 29 22:17:06 2020 Подскажите как решить проблему |
СОНЦЕ#684Promenadlimpan,
Код init python: class P: def __init__(self, name, age, opinion): self.Age = age self.Opinion = opinion self.name = name H = P("Иван", 12, 1) define h = Character(H.name) label main_menu: return label start: h "Что-либо" h 'Минязавут [H.name]' h 'Мой возвраст - [H.Age]' h 'Мой ориентация - [H.Opinion]' return |
Promenadlimpan#685СОНЦЕ,
Спасибо за ответ! А можно сделать так? Код init python: |
Promenadlimpan#686СОНЦЕ,
Спасибо за ответ! А можно сделать так? Код init python: |
Promenadlimpan#688СОНЦЕ, Извините, код не вставился полностью
Вот что я хочу сделать. Новый класс, с помощью которого можно будет использовать все функции character. Но сейчас будет ошибка Name p is not definded. Как это решить? |
Promenadlimpan#689init python:
class P: def __init__(self, name, age, opinion): self.Age = age self.Opinion = opinion self.name = name Define p = P("Иван", 12, 1) label main_menu: return label start: p "Что-либо" return |
| |||