Project1

标题: 如何将sprite画在人物之下而在地图之上? [打印本页]

作者: linphy    时间: 2017-5-1 11:39
标题: 如何将sprite画在人物之下而在地图之上?
以下代码画出的效果会在人物和地图之上,请教大神。

JAVASCRIPT 代码复制
  1. var MyBitmapAlias = Spriteset_Map.prototype.createCharacters;
  2. Spriteset_Map.prototype.createCharacters = function() {
  3.         if ($gameMap.mapId() == tankPos[0][2]){
  4.         this.sprite = new Sprite();
  5.         this.sprite.bitmap = ImageManager.loadCharacter('$Tank01');
  6.         this.sprite.setFrame(32, 32, 32, 32);
  7.         this.addChild(this.sprite);
  8.         // get player's coordinate
  9.         this.sprite.x = $gamePlayer.screenX() - ($gamePlayer.x - tankPos[0][0]) * 48 - 18;
  10.         this.sprite.y = $gamePlayer.screenY() - ($gamePlayer.y - tankPos[0][1]) * 48 + 12;
  11.         this.sprite.z = 2;
  12.         }
  13.     MyBitmapAlias.call(this);
  14. };
  15.  
  16. var updateMyBitmap = Spriteset_Map.prototype.update;
  17.  
  18. Spriteset_Map.prototype.update = function() {
  19.     //If we wanted to spin the sprite constantly we'd do it
  20.     //here, like so.
  21.     this.sprite.x = $gamePlayer.screenX() - ($gamePlayer._realX - tankPos[0][0]) * 48 - 18;
  22.     this.sprite.y = $gamePlayer.screenY() - ($gamePlayer._realY - tankPos[0][1]) * 48 + 12;
  23.     this.sprite.z = 2;
  24.     updateMyBitmap.call(this);
  25. };


作者: 芯☆淡茹水    时间: 2017-5-4 19:03
本帖最后由 芯☆淡茹水 于 2017-5-4 19:17 编辑

直接在地图精灵里硬生生的显示一个坦克图片,那个不好判断。
正好我有一个已经完成的坦克基础乘降,Z值判断是这样:

Xr_Tank 是一个完整的“坦克”类,为  Game_Player 的子类
this._character !== $gamePlayer ;  上车:$gamePlayer = 坦克 , 下车:$gamePlayer = 角色 。 所以 this._character 是 坦克 以及
this._character 不是当前角色时,它在地图上显示的Z值减一(稍低一点)。

作者: 烟FFS花    时间: 2017-6-1 17:16
芯☆淡茹水 发表于 2017-5-4 19:03
直接在地图精灵里硬生生的显示一个坦克图片,那个不好判断。
正好我有一个已经完成的坦克基础乘降,Z值判断 ...

能不能把你那个乘降给我
作者: 烟FFS花    时间: 2017-6-1 17:17
烟FFS花 发表于 2017-6-1 17:16
能不能把你那个乘降给我

方便的话留下qq




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1