设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 17819|回复: 37
打印 上一主题 下一主题

[原创发布] 地图上显示NPC名字

[复制链接]

Lv1.梦旅人

神之首

梦石
0
星屑
65
在线时间
200 小时
注册时间
2011-2-7
帖子
220
跳转到指定楼层
1
发表于 2016-9-8 13:42:09 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 陆娘 于 2016-9-9 09:37 编辑


  1. function npcName() {
  2.     this.initialize.apply(this, arguments);
  3. };

  4. npcName.prototype.initialize = function() {
  5.        
  6.         this._PlayerColor = '#ffea00';
  7.        
  8.         this._eventsName = [];
  9.         this._Player = new Sprite();
  10.         this._Player.bitmap = new Bitmap(300, 100);
  11.         // 处理事件name
  12.         var k = 0;
  13.         for(var i=0;i<$dataMap.events.length;i++){
  14.                 if($dataMap.events[i]){
  15.                         this._eventsName[k] = new Sprite();
  16.                         this._eventsName[k].id = $dataMap.events[i].id;
  17.                         this._eventsName[k].name = $dataMap.events[i].name.split('@')[0];
  18.                         this._eventsName[k].bitmap = new Bitmap(300, 100);
  19.                         this._eventsName[k].textW = this._eventsName[k].bitmap.measureTextWidth(this._eventsName[k].name);
  20.                         if($dataMap.events[i].name.split('@').length > 1){
  21.                                 this._eventsName[k].bitmap.textColor = $dataMap.events[i].name.split('@')[1];
  22.                         };
  23.                         this._eventsName[k].bitmap.drawText(this._eventsName[k].name, 0, 0,this._eventsName[k].textW , 24, 'center');
  24.                         k++;
  25.                 };
  26.         };
  27.        
  28.         this._Player.textW = this._Player.bitmap.measureTextWidth($gameActors.actor(1).name());
  29.         this._Player.bitmap.textColor = this._PlayerColor;
  30.         this._Player.bitmap.drawText($gameActors.actor(1).name(), 0, 0,this._Player.textW, 24, 'center');
  31.        
  32.        
  33. };


  34. npcName.prototype.update = function (){
  35.        
  36.                  for(var i=0;i<this._eventsName.length;i++){
  37.                 this._eventsName[i].x = $gameMap.event(this._eventsName[i].id)._realX*48-$gameMap._displayX*48- this._eventsName[i].textW/2+24;
  38.                 this._eventsName[i].y = $gameMap.event(this._eventsName[i].id)._realY*48-$gameMap._displayY*48-24;
  39.         };
  40.         this._Player.x = $gamePlayer._realX*48-$gameMap._displayX*48- this._Player.textW/2+24;
  41.         this._Player.y = $gamePlayer._realY*48-$gameMap._displayY*48-24;
  42.                
  43. };

  44. npcName.prototype.go = function (){
  45.         for(var i=0;i<this._eventsName.length;i++){
  46.                 this.scene.addChild(this._eventsName[i]);
  47.         };
  48.         this.scene.addChild(this._Player);
  49. };

  50. Scene_Map.prototype.createDisplayObjects2 = Scene_Map.prototype.createDisplayObjects;
  51. Scene_Map.prototype.createDisplayObjects = function () {
  52.         this.createDisplayObjects2();
  53.         this.npcName = new npcName();
  54.         this.npcName.scene = this;
  55.         this.npcName.go();
  56.         console.log($gameMap);
  57. };

  58. Scene_Map.prototype.update2 = Scene_Map.prototype.update;
  59. Scene_Map.prototype.update = function (){
  60.         this.update2();
  61.         this.npcName.update();
  62. };

复制代码



主角的颜色直接在插件里面更改 搜索 this._PlayerColor = '#ffea00';      this._PlayerColor = '我要修改的颜色(CSS类型)';


事件的颜色直接在昵称那里设置xxx@颜色。

VMPN2F$EZM%U{D63)2pGD.png (159.02 KB, 下载次数: 76)

VMPN2F$EZM%U{D63)2pGD.png

评分

参与人数 2+2 收起 理由
银河异次元 + 1
j296196585 + 1 支持国产

查看全部评分

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-16 00:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表