【RPG Maker MV 仿新仙剑 战斗场景UI (八)】

RPG Maker MV 仿新仙剑 战斗场景UI 八

  • 状态及装备场景
  • 代码
  • 效果

状态及装备场景

本计划在战斗场景中直接制作的,但考虑到在战斗场景中加入太多的窗口这不太合适,操作也繁琐,因此直接使用其他场景。

代码

Pal_Window_EquipStatus.prototype.drawNewParam = function(paramId) {this.drawText(this._tempActor.param(paramId), 500, 14+32*this._actorState.indexOf(paramId), 110, 'left');
};
al_Window_EquipStatus.prototype.drawCurrentParam = function(paramId) {this.drawText(this._actor.param(paramId), 400, 14+32*this._actorState.indexOf(paramId), 110, 'left');
};

这里由于之前测试通过,因此去掉绘制数值上的**+9999**。

Pal_Scene_Battle.prototype.commandStates = function() {SceneManager.push(Scene_Status);
};
Pal_Scene_Battle.prototype.commandEquip = function() {SceneManager.push(Pal_Scene_Equip);
};

直接前往这两个场景,显示数据信息。

为了保证场景之间跳转后之前的操作保留(看上去),因此在对应场景中添加如下代码:

Scene_Status.prototype.popScene = function() {switch(SceneManager._stack[1].name){case "Scene_Menu":break;case "Pal_Scene_Battle":SceneManager.scene_windows.command1_active=false;SceneManager.scene_windows.command2_active=true;SceneManager.scene_windows.command3_active=false;SceneManager.scene_windows.command1_index=3;SceneManager.scene_windows.command2_index=4;SceneManager.scene_windows.command3_index=-1;break;default:break;}Scene_ItemBase.prototype.popScene.call(this);
};
Pal_Scene_Equip.prototype.popScene = function() {switch(SceneManager._stack[1].name){case "Scene_Menu":SceneManager.scene_windows.command1_active=false;SceneManager.scene_windows.command2_active=true;SceneManager.scene_windows.command3_active=false;SceneManager.scene_windows.command1_index=2;SceneManager.scene_windows.command2_index=1;SceneManager.scene_windows.command3_index=-1;break;case "Pal_Scene_Battle":SceneManager.scene_windows.command1_active=false;SceneManager.scene_windows.command2_active=false;SceneManager.scene_windows.command3_active=true;SceneManager.scene_windows.command1_index=3;SceneManager.scene_windows.command2_index=0;SceneManager.scene_windows.command3_index=2;break;default:break;}Scene_ItemBase.prototype.popScene.call(this);
};

这是在场景管理器中设置跳转后的操作信息,涉及到返回的场景有战斗场景主菜单场景

Pal_Scene_Battle.prototype.initWindons = function() {if(!SceneManager.scene_windows.command1_active){if(!SceneManager.scene_windows.command2_active){if(SceneManager.scene_windows.command3_active){this._actorCommandWindow._index=SceneManager.scene_windows.command1_index;this.commandOther();this._otherCommandWindow._index=SceneManager.scene_windows.command2_index;this.commandOperateItem();this._itemCommandWindow._index=SceneManager.scene_windows.command3_index;this._actorCommandWindow.deactivate();this._otherCommandWindow.deactivate();SceneManager.initScene_windows()}}else{//从状态场景返回战斗场景this._actorCommandWindow._index=SceneManager.scene_windows.command1_index;this.commandOther();this._otherCommandWindow._index=SceneManager.scene_windows.command2_index;this._actorCommandWindow.deactivate();SceneManager.initScene_windows();}}
};
/** * 开始队伍命令选择*/
Pal_Scene_Battle.prototype.startPartyCommandSelection = function() {this._statusWindow.deselect();this._statusWindow.open();this.refreshStatus();this._actorCommandWindow.close();this.selectNextCommand();this.initWindons();
};

然后再对应的场景使用即可,不过现在发现问题还挺多的,比如会有明显的UI跳动痕迹,显示不自然等,后续慢慢优化吧!
主菜单场景的就不发出来了,那个写出来比战斗的场景简单太多了!

效果

这效果其实还挺有喜剧效果的。
在这里插入图片描述
将窗口打开的速度降低的最低后,可以看到最先出现的就是状态的显示。
在这里插入图片描述
正常来说应该先显示人物的战斗指令的,但看来没有先显示,同时额外战斗的指令窗口打开的也很有喜感,是在慢慢的不断拉开的效果,同时默认可以看到就在道具这个选项上,但这是从状态返回的啊;所有全部展开后,才跳到状态选项,所有会有UI跳动的情况。
在这里插入图片描述
这里可以看到额外物品的指令窗口是同步打开的,这里看着非常明显,但战斗的指令窗口却得等到这两个窗口全部展开后才能显示,之后就是指令下标的跳转,及UI的变动。
不知道大家有什么好的优化手段,可以提出来,学习学习大家的先进经验!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/284399.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TXT文件内容轻松整理,一键删除文本里的多个内容,轻松整理文档!

在数字化时代,TXT文件已成为我们日常工作和学习的常见文档格式。然而,随着时间的推移,这些文档中可能会积累大量的冗余内容,如重复的文字、无用的注释或不必要的空格。手动删除这些内容不仅费时费力,还可能遗漏或误删重…

【高并发服务器 01】—— 基础知识回顾

接下来四周时间,我将会做一个高并发服务器相关的项目。 前置知识:操作系统系统编程、网络编程、基础的数据结构、C语言。 开发环境:VMware虚拟机:Ubuntu 20.04.6 LTS、vscode 今天先回顾一些基础知识。 1.文件与IO 标准IO&#…

uni-app从零开始快速入门

教程介绍 跨端框架uni-app作为新起之秀,在不到两年的时间内,迅速被广大开发者青睐和推崇,得益于它颠覆性的优势“快”,快到可以节省7套代码。本课程由uni-app开发者团队成员亲授,带领大家无障碍快速掌握完整的uni-app…

pandas的综合练习

事先说明: 由于每次都要导入库和处理中文乱码问题,我都是在最前面先写好,后面的代码就不在写了。要是copy到自己本地的话,就要把下面的代码也copy下。 # 准备工作import pandas as pd import numpy as np from matplotlib impor…

linux源配置:ubuntu、centos;lspci与lsmod命令区别

1、ubuntu源配置 1)先查电脑版本型号: lsb_release -c2)再编辑源更新,源要与上面型号对应 参考:https://midoq.github.io/2022/05/30/Ubuntu20-04%E6%9B%B4%E6%8D%A2%E5%9B%BD%E5%86%85%E9%95%9C%E5%83%8F%E6%BA%90/ /etc/apt/…

【Docker】golang操作容器使用rename动态更新容器的名字

【Docker】golang操作容器使用rename动态更新容器的名字 大家好 我是寸铁👊 总结了一篇golang操作容器使用rename动态更新容器的名字✨ 喜欢的小伙伴可以点点关注 💝 前言 今天遇到一个新的需求,要动态改变运行中的容器名字。 可以考虑先把…

数据结构/C++:哈希表

数据结构/C:哈希表 哈希表概念哈希函数直接定址法除留余数法 哈希冲突闭散列 - 开放定址法基本结构查找插入删除总代码展示 开散列 - 哈希桶基本结构查找插入删除代码展示 哈希表概念 在顺序表中,查找一个数据的时间复杂度为O(N);在平衡树这…

数据仓库相关概述

数据仓库概述 数据仓库概念 数据仓库是一个为数据分析而设计的企业级数据管理系统。数据仓库可集中、整合多个信息源的大量数据,借助数据仓库的分析能力,企业可从数据中获得宝贵的信息进而改进决策。同时,随着时间的推移,数据仓…

3个Tips,用“AI”开启新生活

相信最近,很多朋友们都回归到了忙碌的生活节奏中。生活模式的切换,或多或少会带来身体或情绪状况的起伏。新技术正在为人们生活的方方面面带来便利。3个小Tips或许能让你也从新技术中获益,从身到心,用“AI”开启新生活。 关”A…

【Linux杂货铺】进程控制

目录 🌈前言🌈 📁 进程创建 📂 fork函数 📂 写实拷贝 📂 创建进程的目的 📂 创建失败原因 📁 进程终止 📂 概念 📂 场景 📂 退出方法 …

使用React搭建single-spa

自己搭建的Demo GitHub - ftao123/single-spa-react-demo: single-spa-react-demo 修改子应用的webpack配置 library: "app2"和libraryTarget: "umd"配置必须添加。 可以看到filename在开发环境下的地址是static/js/bundle.js,所以我们主应用…

【Delphi JCL库文件解剖 1】库文件的大体脉络

JCL库是一个开源的Delphi库文件,下载到它很容易,可是想能灵活运用它却并不容易。下面是这个库文件的大体文件脉络,咱们要分析的核心还是在 source 源代码文件。 bin - 示例应用程序可执行文件的常见位置 docs - 读…

JavaEE-文件操作和IO

我们先来认识狭义上的⽂件(file)。针对硬盘这种持久化存储的I/O设备,当我们想要进⾏数据保存时,往往不是保存成⼀个整体,⽽是独⽴成⼀个个的单位进⾏保存,这个独⽴的单位就被抽象成⽂件的概念,就类似办公桌上的⼀份份真…

Java程序设计 4、5章 练习题

一、填空题 1.假设有 String s1 "Welcome to Java"; String s2 s1; String s3 new String("Welcome to Java"); 那么下面表达式的结果是什么? (1) s1 s2 ___________true_______________ (2) s1 s3 ______…

C++ Thread 源码 观后 自我感悟 整理

Thread的主要数据成员为_Thr 里面存储的是线程句柄和线程ID 先看看赋值运算符的移动构造 最开始判断线程的ID是否不为0 _STD就是使用std的域 如果线程ID不为0,那么就抛出异常 这里_New_val使用了完美转发,交换_Val和_New_val的值 _Thr _STD exchange(_…

【动手学深度学习】深入浅出深度学习之PyTorch基础

目录 一、实验目的 二、实验准备 三、实验内容 1. 数据操作 2. 数据预处理 3. 线性代数 4. 微积分 5. 自动微分 四、实验心得 一、实验目的 (1)正确理解深度学习所需的数学知识; (2)学习一些关于数据的实用…

如何设置Word文档的高级属性?这里有详细步骤

我们最近向你展示了如何在Word中设置用户信息。Word还存储与文档相关的几个其他高级属性。其中一些显示在“信息”屏幕上,你可以更改这些属性。 注意:我们使用Word 2013来说明此功能。 要访问允许你更改当前打开文档的属性的对话框,请单击“…

使用 Amazon SageMaker 微调 Llama 2 模型

本篇文章主要介绍如何使用 Amazon SageMaker 进行 Llama 2 模型微调的示例。 这个示例主要包括: Llama 2 总体介绍Llama 2 微调介绍Llama 2 环境设置Llama 2 微调训练 前言 随着生成式 AI 的热度逐渐升高,国内外各种基座大语言竞相出炉,在其基础上衍生出…

☆【前后缀】【双指针】Leetcode 42. 接雨水

【前后缀】【双指针】Leetcode 42. 接雨水 解法1 前后缀分解解法2 双指针 ---------------🎈🎈42. 接雨水 题目链接🎈🎈------------------- 解法1 前后缀分解 维护一个前缀(左侧最高)后缀(右侧…

ASP .Net Core ILogger日志服务

🐳简介 ILogger日志服务是.NET平台中的一个内置服务,主要用于应用程序的日志记录。它提供了灵活的日志记录机制,允许开发者在应用程序中轻松地添加日志功能。以下是其主要特点和组件: ILogger接口:这是ILogger日志服…