Войти на сайт

Авторизация, ждите ...
×

ТЕМА: Оружие за SV баттлером. Исправимо?

Оружие за SV баттлером. Исправимо? 3 года 11 мес. назад #116310

  • tvorimvsevmeste
  • tvorimvsevmeste аватар
  • Вне сайта
  • Просветлённый
  • Сообщений: 250
  • Спасибо получено: 50
Когда используется Side View режим боя оружие рисуется за человечком.
Для меча, посоха или топора это не важно, но для огнестрела, арбалета и лука выглядит странно.
Подскажите как их прорисовывать выше тела.

2020-04-23_00-12-44-2.png


2020-04-23_00-12-25-2.png


Может для опытных JavaScript-овиков это покажется интересным?
Поживем — увидим,
доживем — узнаем,
переживем — научимся…
Последнее редактирование: 3 года 11 мес. назад от tvorimvsevmeste.
Администратор запретил публиковать записи гостям.

Оружие за SV баттлером. Исправимо? 3 года 11 мес. назад #116314

  • Alx_Yago
  • Alx_Yago аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1137
  • Спасибо получено: 2156
  • Проект года 3 местоПаладин3 место в Обучающем конкурсе3 местоРазработчикУчительОраторПроект месяца 1 местоПроект года 1 место1 место в Обучающем конкурсе
Если речь о стандартных чибиках, то я сейчас попробовал это оружие разместить сверху, и вышло как-то совсем нелепо.
Думаю, тут работа скорее для художников: перерисовать sv-бэтлеров так, чтобы всё это нормально смотрелось.
Администратор запретил публиковать записи гостям.

Оружие за SV баттлером. Исправимо? 3 года 11 мес. назад #116316

  • tvorimvsevmeste
  • tvorimvsevmeste аватар
  • Вне сайта
  • Просветлённый
  • Сообщений: 250
  • Спасибо получено: 50
Не скажите — огнестрел и арбалет лучше бы спереди.
Легче допилить картинки арбалетов и огнестрела, чем чибиков. Чибик один, а оружие может быть разное.

2020-04-23_00-12-25.png


2020-04-23_00-12-44.png


Так что, если кто из JavaScript-мастеров имеет досуг, помогите пожалуйста!
Поживем — увидим,
доживем — узнаем,
переживем — научимся…
Последнее редактирование: 3 года 11 мес. назад от tvorimvsevmeste.
Администратор запретил публиковать записи гостям.

Оружие за SV баттлером. Исправимо? 3 года 11 мес. назад #116319

  • Alx_Yago
  • Alx_Yago аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1137
  • Спасибо получено: 2156
  • Проект года 3 местоПаладин3 место в Обучающем конкурсе3 местоРазработчикУчительОраторПроект месяца 1 местоПроект года 1 место1 место в Обучающем конкурсе
По-моему, у тебя просто не то движение на картинке. При выстреле они должны выглядеть так (соответственно, как будет, если оружие сверху):
Actor1_1.png
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: tvorimvsevmeste

Оружие за SV баттлером. Исправимо? 3 года 11 мес. назад #116328

  • Dmy
  • Dmy аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1142
  • Спасибо получено: 2477
  • ВетеранДаритель СтимкеяЗа 2 место на конкурсе маппингаУчительПрограммист RubyПроект месяца 3 место2 место ПаладинРазработчикПоддержка Фонда
Чтобы оружие в битве всегда показывалось выше героя, можно использовать такой код:
(function () {
 
  var Sprite_Actor_initMembers = Sprite_Actor.prototype.initMembers;
  Sprite_Actor.prototype.initMembers = function() {
    this.createWeaponSprite = function () {
       this.weaponCreationSkipped = true;
      //do nothing: postpone the weapon sprite creation
    }
    Sprite_Actor_initMembers.call(this);
  };
 
  var Sprite_Actor_createMainSprite = Sprite_Actor.prototype.createMainSprite;
  Sprite_Actor.prototype.createMainSprite = function() {
    Sprite_Actor_createMainSprite.call(this);
 
    //call weapon sprite creation later (so it's placed above mainSprite)
    if (this.weaponCreationSkipped) {
      Sprite_Actor.prototype.createWeaponSprite.call(this);
    }
  }
 
})();

Сохраните его в папке js/plugins с расширением JS и подключите в окне управления плагинами.

(Код в общественном достоянии согласно Creative Commons Zero. Можно использовать в любых проектах без каких-либо ограничений. Указывать меня не надо.)
Последнее редактирование: 3 года 11 мес. назад от Dmy.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: tvorimvsevmeste, Artem521

Оружие за SV баттлером. Исправимо? 3 года 11 мес. назад #116407

  • tvorimvsevmeste
  • tvorimvsevmeste аватар
  • Вне сайта
  • Просветлённый
  • Сообщений: 250
  • Спасибо получено: 50
Прелестно! :whistle:
(Извините за медленную реакцию - провалялся с приступом ВСД)
Уважаемый Dmy !!! Огромное мерси!!!
А не могли бы Вы также исправить YEP_WeaponAnimation.js
Дело в том, что у чибиков справа оружие продолжает отражаться сзади человечка !
Может, кто-то еще возьмется?
Поживем — увидим,
доживем — узнаем,
переживем — научимся…
Последнее редактирование: 3 года 11 мес. назад от tvorimvsevmeste.
Администратор запретил публиковать записи гостям.

Оружие за SV баттлером. Исправимо? 3 года 11 мес. назад #116453

  • Dmy
  • Dmy аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1142
  • Спасибо получено: 2477
  • ВетеранДаритель СтимкеяЗа 2 место на конкурсе маппингаУчительПрограммист RubyПроект месяца 3 место2 место ПаладинРазработчикПоддержка Фонда
С YEP_WeaponAnimation код будет работать и так, без изменений.

Судя по тому, что вы в другом месте, вы, видимо, перепутали YEP_WeaponAnimation и YEP_X_AnimatedSVEnemies.

Я обычно стараюсь не трогать платные плагины и никаких их не дополнять (если они платные, то пусть их платно и дополняют). Но в этом случае изменение небольшое и я его уже сделал, так что вот оно:
(function () {
 
  var Sprite_Actor_initMembers = Sprite_Actor.prototype.initMembers;
  Sprite_Actor.prototype.initMembers = function() {
    this.createWeaponSprite = function () {
       this.weaponCreationSkipped = true;
      //do nothing: postpone the weapon sprite creation
    }
    Sprite_Actor_initMembers.call(this);
  };
 
  var Sprite_Actor_createMainSprite = Sprite_Actor.prototype.createMainSprite;
  Sprite_Actor.prototype.createMainSprite = function() {
    Sprite_Actor_createMainSprite.call(this);
 
    //call weapon sprite creation later (so it's placed above mainSprite)
    if (this.weaponCreationSkipped) {
      Sprite_Actor.prototype.createWeaponSprite.call(this);
    }
  }
 
  //modify for YEP_X_AnimatedSVEnemies if it's enabled
  if (Sprite_Enemy.prototype.initSVSprites) {
    var Sprite_Enemy_initSVSprites = Sprite_Enemy.prototype.initSVSprites;
    Sprite_Enemy.prototype.initSVSprites = function() {
      this.createWeaponSprite = function () {
         this.weaponCreationSkipped = true;
        //do nothing: postpone the weapon sprite creation
      }
      Sprite_Enemy_initSVSprites.call(this);
    }
  }
 
  if (Sprite_Enemy.prototype.setTransform) {
    var Sprite_Enemy_setTransform = Sprite_Enemy.prototype.setTransform;
    Sprite_Enemy.prototype.setTransform = function(battler) {
      this.createWeaponSprite = function () {
         this.weaponCreationSkipped = true;
        //do nothing: postpone the weapon sprite creation
      }
      Sprite_Enemy_setTransform.call(this, battler);
    }
  }
 
})();

Этот плагин надо подключить после YEP_X_AnimatedSVEnemies (если подключить перед, то работать не будет).

Этот плагин надо установить ВМЕСТО плагина, который приведён в этой теме раньше. Вместе они, скорее всего, работать не будут.

(Мой код в общественном достоянии согласно Creative Commons Zero. Можно использовать в любых проектах без каких-либо ограничений. Указывать меня не надо.)
Последнее редактирование: 3 года 11 мес. назад от Dmy.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: tvorimvsevmeste, VarVarKa

Оружие за SV баттлером. Исправимо? 3 года 11 мес. назад #116458

  • tvorimvsevmeste
  • tvorimvsevmeste аватар
  • Вне сайта
  • Просветлённый
  • Сообщений: 250
  • Спасибо получено: 50
:whistle: Спасибо огромное!!!
Поживем — увидим,
доживем — узнаем,
переживем — научимся…
Администратор запретил публиковать записи гостям.
Модераторы: NeKotZima
Время создания страницы: 0.316 секунд