Миничат

AnnTenna 2 дн. даже не верится что завтра уже 1 мая
poca 3 дн. А вот и среда =)
AnnTenna 4 дн. Ничего скоро уже майские...
MarsKnight 24.04.2026 18:48 Пережили эту рабочую недельку, пора пепечилить)
poca 24.04.2026 03:26 o_O пасиб за ссыль, похождения зелёной какахи доставили :D Ёмаё, куда катится игропром? =_=
Kerotan 24.04.2026 00:43 https://www.youtube.com/watch?v=vdUo12Zb1FU&t=5194s
Kerotan 24.04.2026 00:43 Из наших видел на RPG Maker Showcase 2026 - Exellent Award - "Heroines of Swords & Spells 2" (Best Comment Award) 1:00:03
Jas6666 23.04.2026 20:14 В принципе сами разработчики мейкера каждый год проводят "Фестиваль RPG Maker" вбей в поиск, выдаст страницу в стиме, там игры. сам уж решай стоящие ли игры, просто по отзыва
tim103 23.04.2026 15:05 Слушайте, а есть за последнее время вообще какие-то прорывные игры, которые в какой-то степени выстрелили в стим, и написанные на Rpg Maker? Если не считать старые проекты, по типу to the moon?
AnnTenna 23.04.2026 14:56 у нас жесть а не погодка)
AnnTenna 23.04.2026 14:45 доброго дня) как у вас погодка?)
ajir 20.04.2026 11:44 Phavn: Отлично!
Phavn 20.04.2026 10:54 Спасибо помогло. Вышел - куки данного сайта стёр - зашёл - заработало.
ajir 20.04.2026 10:37 Phavn: Если и это не помогает, не видишь - значит увы сбой с залогиниванием на форуме, попробуй очисть все данные сайта в браузере, залогиниться на первой странице сайта, перейти на форум, перейти в нужный подфорум и создать тему.
ajir 20.04.2026 10:35 Phavn: "Форум Светлая Зона и Академия RPG Maker Свободный Новая тема Темы прочитаны Подписаться" т.е. ищи "Новая тема".
Phavn 20.04.2026 10:10 Привет всем, кажется я уже спрашивал когда-то об этом — но как мне создать тут новую тему на форуме? Я их уже создавал, но теперь кнопки "создать тему" не вижу.
VaNyuHa 18.04.2026 05:33 мда... писал писал, а оказывается длинные смс нельзя, хах! В общем, понимаю, что можно через общие события и переменные было указывать координаты событий и игрока, и если мое нужное условие выполняется - активировать событие, но на этот раз просто решил узнать способ проще, вот и все)
VaNyuHa 18.04.2026 05:30 MarkerIl, согласен, этим мне и нравится rpgmv. Фантазия есть, в своей игре уже много головоломок на разную тему реализовал через общие события и встроенные функции. Но из-за работы и семьи мало времени на это... так что бывает в свободное время на работе сразу на черновике прописываю то, как будет работать задуманная головоломка, например (вращающи
MarkerIl 17.04.2026 16:12 VaNyuHa для такого есть параллельные события. Как бы, почти все базовые необходимые функции решаются ивентами и фантазией.) Все же, в первую очередь, Мейкер - это конструктор. И так как мне больше нравятся ивенты, чем скрипты, я и предложил такой вариант.
MarkerIl 17.04.2026 16:12 VaNyuHa для такого есть параллельные события. Как бы, почти все базовые необходимые функции решаются ивентами и фантазией.) Все же, в первую очередь, Мейкер - это конструктор. И так как мне больше нравятся ивенты, чем скрипты, я и предложил такой вариант.
Правила раздела:
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.

MV 1.6: Что нового?

Даритель Стимкея Учитель Организатор конкурсов 2 место Программист JavaScript Оратор
Больше
8 года 2 мес. назад - 8 года 2 мес. назад #102735 от Mur
Mur ответил в теме MV 1.6: Что нового?

EvilCat пишет: Мне не хватает знания об устройстве плагина, чтобы ответить точно...


Да по сути ничего в нём и нет:
Code:
var MUR = MUR || {}; // MUR's main object MUR.NPC = MUR.NPC || {}; // Plugins's stuff MUR.NPC.block_handler = function (data, step, force) { bla bla bla… }

И всё! Я уже могу обращаться к MUR.NPC.block_handler() и всё работает. Собственно вопрос-то и был, в том, что достаточно создать объект {} и можно «пихать» в него что угодно? o_O в том числе и функции?

И сразу второй вопрос, а что будет если я потом захочу переопределить эту фукнцию, как раньше мы делали с базовыми классами?
Code:
var _Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand; Game_Interpreter.prototype.pluginCommand = function(command, args) { _Game_Interpreter_pluginCommand.call(this, command, args); bla bla bla };

И у меня есть подозрения, что у меня это не получится сделать ~_~'

EvilCat пишет: Просто перескажу, как работают прототипы.


Ох! А можно просто примерчик, как всё-таки ПРАВИЛЬНО оформить свой плагин в виде класса, что бы в последствии можно было наследовать и менять методы?

Я просто помню, что вот была такая конструкция, делаем свою новую сцену(Scene_Achievements) наследуя её от Scene_ItemBase:
Code:
function Scene_Achievements() { this.initialize.apply(this, arguments); } Scene_Achievements.prototype = Object.create(Scene_ItemBase.prototype); Scene_Achievements.prototype.constructor = Scene_Achievements; Scene_Achievements.prototype.initialize = function() { Scene_ItemBase.prototype.initialize.call(this); }; Scene_Achievements.prototype.create = function() { Scene_ItemBase.prototype.create.call(this); this.achievementsInit(); }; Scene_Achievements.prototype.achievementsInit = function() { .... };

Но это если мы наследуем. А если я просто делаю свой базовый класс? Что тогда указывать в качестве родителя? Ничего? Будет так работать?
Code:
Scene_Achievements.prototype = Object.create();
Последнее редактирование: 8 года 2 мес. назад пользователем Mur.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

3 место Готв Учитель 2 место
Больше
8 года 2 мес. назад #102736 от EvilCat
EvilCat ответил в теме MV 1.6: Что нового?
Прототипы в Яваскрипте вообще были не с самого начала, а были придуманы в одной сторонней библиотеке, а уже потом, как очень полезная и повсеместно используемая инновация, были приняты в стандартный синтаксис.

То есть, если нам нужен совершенно уникальный объект, который будет всегда в одном экземпляре, никогда не будет создан новый и никогда ничего от него не унаследовано, то всегда можно было написать:
Code:
var God = {} God.doSomething = function () { ... }

...а потом вызывать God.doSomething(). Никакого класса, никаких прототипов.

Но если необходимо наследование (или если воображаешь, что кому-то из игроделов-пользователей плагина захочется унаследовать от него свой), то да, наследование в Яваскрипте делается с помощью прототипов. А именно - если взять нашего Кота и его СемействоКошачьих, то у прототипа СемействаКошачьих тоже может быть свой конструктор ОтрядХищных, а у него прототип, и так далее по цепочке... Поиск полей объекта идёт по цепочке прототипов, пока та не закончится. Это и есть наследование.
Code:
Scene_Achievements.prototype = Object.create(Scene_ItemBase.prototype); Scene_Achievements.prototype.constructor = Scene_Achievements;

Эти строчки как раз делают следующее:
  1. Объект Scene_Achievements.prototype создаётся как пустой объект, прототипом которого является Scene_ItemBase.prototype. У него пока нет своих полей, но как и Кот, нехватающие поля он пойдёт искать в Scene_ItemBase.prototype.
  2. Поскольку мы создали Scene_Achievements.prototype не через new, а через Object.create, он не знает свой конструктор... Поэтому мы ставим ему правильный конструктор.
Спасибо сказали: Mur

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Даритель Стимкея Учитель Организатор конкурсов 2 место Программист JavaScript Оратор
Больше
8 года 2 мес. назад #102737 от Mur
Mur ответил в теме MV 1.6: Что нового?
Уффф! Покопавшись на страницах developer.mozilla.org на меня нашло озарение, как это теперь может выглядеть плагин, начиная с MV 1.6

Сначала создаём базовый класс. В данном примере он просто сохраняет в переменную value на этапе инициализации (создания):
Code:
'use strict'; class MurBase { constructor(value) { this.value = value; } }

Затем мы создаём «дитёнка» с родительскими свойствами, но расширяем функционал возможностью чтения/изменения переменной value, а так же добавляем метод log для вывода сообщения в отладчик:
Code:
class MurChild extends MurBase { constructor(value) { super(value + " & " + value); } get val() { return this.value; } set val(value) { this.value = value + " & " + value; } log (msg) { console.log(msg); } }

Теперь самое время создать наш новый объект:
Code:
var mc = new MurChild("Test!");

Ну теперь к нему можно обращаться внутри базовых классов мейкера:
Code:
var _MurTest_Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand; Game_Interpreter.prototype.pluginCommand = function(command, args) { _MurTest_Game_Interpreter_pluginCommand.call(this, command, args); if (command.toLowerCase() === "npc_speech") { mc.log(mc.val); mc.val = "Boom!"; mc.log(mc.val); } }

В идеале конечно было бы классно как-то скрестить [strike]ужа с ежом[/strike] новое описание в стиле class и старое через prototype, что бы не городить огород с этими переопределениями функции, как-то pluginCommand. Но пока у меня нехватает знаний и понятий как эт вообще всё работает ~_~' все эксперименты больше по наитию «а что если сделать вот так? Ух-ты! Работает!» :blush:

С нетерпением жду идей по улучшению данного безобразия! :whistle:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

3 место Готв Учитель 2 место
Больше
8 года 2 мес. назад - 8 года 2 мес. назад #102745 от EvilCat
EvilCat ответил в теме MV 1.6: Что нового?
Всё правильно, только при классовой нотации придётся учитывать ограничение по обращению к this в конструкторе до вызова super, которое уже обсуждали , ну, или стыдливо обходить его с помощью перекладывания функционала конструктора на какой-нибудь initialize >_<
Последнее редактирование: 8 года 2 мес. назад пользователем EvilCat.
Спасибо сказали: Mur

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.088 секунд
Работает на Kunena форум