事件头部显示名称
rpgmakermz吧
全部回复
仅看楼主
level 2
写个超级简单的插件来蹭下热度~~~~
效果如图,在事件栏备注一下名字就可以了
<name:破坏神>
特别注意,改插件依赖于 MZ 自带的插件:PluginBaseFunction
/*:
*
*
* @plugindesc headName
* @Author lh
* @date 14:42
* @璐村惂鐢ㄦ埛_00JG6XM馃惥 MZ
* @007 PluginBaseFunction
*
* @param front
* @text 字体大小
* @desc 绘制顶部文字的大小
* @default 18
* @type number
*
* @param width
* @text 宽度
* @desc 当名字比较长显示不下可以调大该值
* @default 64
* @type number
*
* @param height
* @text 高度
* @desc 默认是居中的,所以会影响padding值
* @default 18
* @type number
*
* @help
* 事件栏备注:
* <name:破坏神>
*
*
*
*/
const solve_HeadName =PluginManager.parameters('Solve_SimpleHeadName')
function Sprite_HeadName() {
this.initialize(...arguments);
}
Sprite_HeadName.prototype = Object.create(Sprite.prototype);
Sprite_HeadName.prototype.constructor = Sprite_HeadName;
Sprite_HeadName.prototype.initialize = function (deploy) {
Sprite.prototype.initialize.call(this);
this._deploy = deploy;
this.bitmap = new Bitmap(solve_HeadName.width, solve_HeadName.height)
};
Sprite_HeadName.prototype.update = function () {
Sprite.prototype.update.call(this);
this.x = this._deploy.x - (solve_HeadName.width) / 2
this.y = this._deploy.y - solve_HeadName.height-this._deploy.height
this.z = this._deploy.z + 1
this.opacity = this._deploy.opacity
this.blendMode = this._deploy.blendMode
this._bushDepth = this._deploy._bushDepth
this.visible = this._deploy.visible;
this.bitmap.fontSize = solve_HeadName.front
this.bitmap.drawText(this.headName(), 0, 0, solve_HeadName.width, solve_HeadName.height, 'center')
}
Sprite_HeadName.prototype.headName = function () {
let character = this._deploy._character;
if (character && character.findMeta) {
return character.findMeta("name") || ''
}
return '';
}
solve_HeadName.Sprite_Character_initialize = Sprite_Character.prototype.initialize
Sprite_Character.prototype.initialize = function (character) {
solve_HeadName.Sprite_Character_initialize.call(this, character);
if (character && character.findMeta&&character.findMeta("name")) {
this._headSprite = new Sprite_HeadName(this)
}
};
solve_HeadName.Sprite_Character_update = Sprite_Character.prototype.update
Sprite_Character.prototype.update = function () {
solve_HeadName.Sprite_Character_update.call(this);
if (this._headSprite) {
this.parent.addChild(this._headSprite)
this._headSprite = undefined;
}
};
2020年08月26日 08点08分 1
level 7
大佬 复制哪些部分??从 /*: 开始 到帖子结束吗
2020年08月31日 04点08分 3
level 2
建议将显示名字的参数放在<name:参数1,参数2,参数3>,比如字体大小,位置坐标和颜色等。名字直接调用事件名字。这样自由度更高些。
2020年09月14日 02点09分 5
level 1
这叫超简单....我看天书一样 泛用可以,实际理解为0
2020年10月08日 07点10分 6
1