RPGMakerMZ游戏引擎 地图角色顶部显示称号

个人需求 发布保存 以防以后忘记

直接上代码

复制代码
(() => {
	
	const _Sprite_Character_prototype_initialize = Sprite_Character.prototype.initialize;
	Sprite_Character.prototype.initialize = function(character) {
	    _Sprite_Character_prototype_initialize.call(this, character);
		
		this._titleSprite = null;
		
        if (this._character instanceof Game_Player) {
           this.createTitle();
        }
		
	};
	
	
	Sprite_Character.prototype.createTitle = function() {
		
		if (this._titleSprite) {
            this.removeChild(this._titleSprite);
            this._titleSprite = null;
        }
		
		
	    const title_text = "无双英雄";
		
	    const title_bitmap = new Bitmap(1, 48);
		title_bitmap.fontFace = $gameSystem.mainFontFace();
        title_bitmap.fontSize = $gameSystem.mainFontSize();
		const bitmap_width = title_bitmap.measureTextWidth(title_text);
		title_bitmap.resize(bitmap_width, 48);
		title_bitmap.textColor = ColorManager.normalColor();
		title_bitmap.outlineColor = ColorManager.outlineColor();
		title_bitmap.smooth = true;
		title_bitmap.drawText( title_text, 0, 0, bitmap_width, 48, "center");
		
	    const title_Sprite = new Sprite( title_bitmap );
		title_Sprite.move( -(bitmap_width / 2), -90);
		
        this._titleSprite = title_Sprite;
        this.addChild(title_Sprite);
	};
	
})();

上面的是全部功能代码 粘贴复制即可使用 根据需求修改字符串

判断是否是角色 如何当前是角色的话 初始化 Game_Player 是玩家角色 Game_Event是地图NPC 这是不同的需要判断

复制代码
if (this._character instanceof Game_Player) {
           this.createTitle();
        }

接下来代码很普通 创建一个位图 一个精灵 设置显示坐标 绑定到角色上 就可以了

结尾总结

请Project1论坛的小圈子 离开

相关推荐
xinzheng新政20 小时前
Javascript 深入学习基础·4
javascript·学习·servlet
粥里有勺糖20 小时前
视野修炼-技术周刊第129期 | 上一次古法编程是什么时候
前端·javascript·github
whuhewei20 小时前
JS获取CSS动画的旋转角度
前端·javascript·css
蓝黑202020 小时前
Vue组件通信之v-model
前端·javascript·vue
像素之间20 小时前
为什么运行时要加set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve
前端·javascript·vue.js
M ? A21 小时前
Vue转React实战:defineProps精准迁移实战
前端·javascript·vue.js·经验分享·react.js·开源·vureact
如意猴21 小时前
【前端】002--怎样制作一个简历界面?
开发语言·前端·javascript
comerzhang65521 小时前
手撕 V8:我是如何用 2.67ms 的心跳活捉 700ms 冻结幽灵的
javascript
im_AMBER21 小时前
手撕发布订阅与观察者模式:从原理到实践
前端·javascript·面试
kyriewen1 天前
重排、重绘、合成:浏览器渲染的“三兄弟”,你惹不起也躲不过
前端·javascript·浏览器