查看: 11627|回复: 13

[有事请教] 图块大小如何调?

[复制链接]
梦石
0
星屑
1147
在线时间
186 小时
注册时间
2007-2-27
回帖
108
发表于 2019-1-15 15:19:22 | 显示全部楼层 |阅读模式

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

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

×
有没有研究如何调整图块大小的,找不到这方面的教程,麻烦懂的高手写一个教程:比如把48的图块改成96的图块,想改不知道怎么改好。
下面是我搜索到的相关帖子,但是看不懂。

mv图块大小调整为32,一次移动一格的大小也调整为32
https://rpg.blue/thread-397552-1-1.html
梦石
0
星屑
22879
在线时间
8598 小时
注册时间
2011-12-31
回帖
3270
发表于 2019-1-15 17:11:38 | 显示全部楼层
Change Tile Size
https://forums.rpgmakerweb.com/i ... ge-tile-size.46748/
導論
此插件允許您從48x48的默認切片大小更改為更大或更小的大小。

如何使用
添加到您的插件文件夾(文件名應為ChangeTileSize.js)。
將“平舖大小”參數設置為您希望平鋪/網格大小為的任何值(例如32)。
如果要在編輯器中編輯地圖,請複制img / tilesets文件夾並將Tileset圖像文件夾名稱設置為新文件夾名稱 - 請記住在末尾包含/。然後在原始的img / tilesets文件夾中,調整圖像大小以使它們匹配48x48的圖塊大小。

如果您使用視差貼圖並想要在編輯器中編輯地圖,請複制您的img / parallaxes /文件夾並將視差圖像文件夾名稱設置為新文件夾名稱 - 請記住在末尾包含/。然後在原始的img / parallaxes文件夾中,調整圖像大小,使它們匹配48x48的圖塊大小。

創建的新文件夾是在玩遊戲時將使用的文件夾,並且應包含正確大小的tilesets / parallaxes。原件只會用於編輯器,調整大小會降低圖形的質量,但它應該足以讓您使用地圖和事件。構建遊戲以進行分發時,應刪除這些文件。

点评

谢谢分享,就是有个疑问可以请教一下吗?重命名文件夹无法加反斜杠,显示“文件夹名称不能包含:?/等特殊字符”,请问这个如何解决呀?谢谢  发表于 2020-1-29 16:56
回复 2 0

使用道具 举报

梦石
0
星屑
1147
在线时间
186 小时
注册时间
2007-2-27
回帖
108
 楼主| 发表于 2019-1-15 18:01:52 | 显示全部楼层
tseyik 发表于 2019-1-15 17:11
Change Tile Size
https://forums.rpgmakerweb.com/index.php?threads/change-tile-size.46748/
導論

谢谢,大神,我学习一下
回复

使用道具 举报

梦石
0
星屑
1147
在线时间
186 小时
注册时间
2007-2-27
回帖
108
 楼主| 发表于 2019-1-15 18:09:40 | 显示全部楼层
tseyik 发表于 2019-1-15 17:11
Change Tile Size
https://forums.rpgmakerweb.com/index.php?threads/change-tile-size.46748/
導論

没有下载插件的地方,能不能分享一下插件
回复

使用道具 举报

梦石
0
星屑
22879
在线时间
8598 小时
注册时间
2011-12-31
回帖
3270
发表于 2019-1-15 19:45:44 | 显示全部楼层
Plugin
Download from pastebin<這個
点進去点Raw或Download
回复

使用道具 举报

梦石
0
星屑
1147
在线时间
186 小时
注册时间
2007-2-27
回帖
108
 楼主| 发表于 2019-1-15 22:08:36 | 显示全部楼层
tseyik 发表于 2019-1-15 19:45
Plugin
Download from pastebin<這個
点進去点Raw或Download

我就是打不开那个页面,不如你把这段代码贴出来共享一下。
回复

使用道具 举报

梦石
0
星屑
22879
在线时间
8598 小时
注册时间
2011-12-31
回帖
3270
发表于 2019-1-16 21:17:20 | 显示全部楼层
点击展开/收起[pre lang="javascript"]//=============================================================================
// Change Tile Size
// by Shaz
// version 1.2
// Last Update: 2017.04.12
//=============================================================================

/*:
* @plugindesc Allows maps based on a grid size other than 48x48
   <ChangeTileSize> v1.1
* @author Shaz
*
* @param Tile Size
* @desc Size of tiles (pixels)
* @default 48
*
* @param Tileset Image Folder
* @desc Folder where the in-game tilesets are kept
* @default img/tilesets/
*
* @param Parallax Image Folder
* @desc Folder where the in-game parallaxes are kept
* @default img/parallaxes/
*
* @help This plugin does not provide plugin commands.
*
* To use the map editor with tiles of a size other than 48x48 in your project,
* have two folders for tileset images.  The folder named in the plugin
* parameters is for original, high-quality, final-sized tiles.  The
* original folder, img/tilesets/ can contain a duplicate copy of each
* tileset, shrunk or enlarged to 48x48 pixels per tile.  Quality in the
* editor may be poorer, but the original tiles will be used in the game.
* The img/tilesets folder can be cleared prior to distribution.
*
* The same applies to the img/parallaxes folder if using a parallax map
* with a grid size other than 48x48.
*
* ----------------------------------------------------------------------------
* Revisions
*
* 1.1  2016.10.17 Catered for Tilemap tilesize to reduce choppiness
*                 Removed dependency on js file name
*      2016.10.23 Ensure resized tiles/parallaxes are included in build
* 1.2  2017.04.12 Fix issue with excluding unused resources
* ----------------------------------------------------------------------------
RESOURCE LIST - DO NOT MODIFY BELOW THIS LINE
RESOURCE LIST - DO NOT MODIFY ABOVE THIS LINE
*/

(function() {

  var parameters = $plugins.filter(function(p) { return p.description.contains('<ChangeTileSize>'); })[0].parameters;
  var tileSize = parseInt(parameters['Tile Size'] || 48);
  var tilesetsFolder = String(parameters['Tileset Image Folder'] || 'img/tilesets/');
  var parallaxesFolder = String(parameters['Parallax Image Folder'] || 'img/parallaxes/');

  ImageManager.loadTileset = function(filename, hue) {
    return this.loadBitmap(tilesetsFolder, filename, hue, false);
  };

  ImageManager.loadParallax = function(filename, hue) {
      return this.loadBitmap(parallaxesFolder, filename, hue, true);
  };

  Game_Map.prototype.tileWidth = function() {
    return tileSize;
  };

  Game_Map.prototype.tileHeight = function() {
    return tileSize;
  };

  Game_Vehicle.prototype.maxAltitude = function() {
    return tileSize;
  };

  var Tilemap_initialize = Tilemap.prototype.initialize;
  Tilemap.prototype.initialize = function() {
    Tilemap_initialize.call(this);
    this._tileWidth = tileSize;
    this._tileHeight = tileSize;
  };

  // Add image files to required assets list, to ensure they are included
  // in a deployed project
  var _changeTileSize_Scene_Boot_start = Scene_Boot.prototype.start;
  Scene_Boot.prototype.start = function() {
    _changeTileSize_Scene_Boot_start.call(this);

    if (!Utils.isOptionValid('test') || DataManager.isBattleTest() ||
      DataManager.isEventTest()) {
        return;
      }

    // Read in this script
    var fs = require('fs');
    var path = window.location.pathname.replace(/(\/www|)\/[^\/]*$/, '/');
    if (path.match(/^\/([A-Z]\:)/)) {
      path = path.slice(1);
    }
    path = decodeURIComponent(path);
    var scriptName = $plugins.filter(function(p) {
      return p.description.contains('<ChangeTileSize>') && p.status;
    })[0].name + '.js';
    var sourcePath = path + 'js/plugins/' + scriptName;
    var dataPath = path + 'data/';
    if (fs.existsSync(sourcePath)) {
      var source = fs.readFileSync(sourcePath, { encoding: 'utf8' });
      source = source.split('\r\n');
      var resListStart = source.indexOf('RESOURCE LIST - DO NOT MODIFY BELOW THIS LINE');
      var resListEnd = source.indexOf('RESOURCE LIST - DO NOT MODIFY ABOVE THIS LINE');
      if (resListStart === -1 || resListEnd === -1) {
        console.log('ERROR - Unable to create resource list for ' + scriptName);
        console.log('Please redownload the script and paste over your current version');
      } else {
        // remove previous list of resources
        source.splice(resListStart + 1, resListEnd - resListStart - 1);
        // build list of new resources
        var resTilesets = [];
        var resParallaxes = [];

        // get tilesets & parallaxes that are actually used
        $dataMapInfos.forEach(function(mapinfo) {
          if (mapinfo) {
            var map = JSON.parse(fs.readFileSync(dataPath + 'Map%1.json'.format(mapinfo.id.padZero(3))));

            if (!resTilesets.contains(map.tilesetId)) {
              resTilesets.push(map.tilesetId);
            }

            if (map.parallaxName !== '' && !resParallaxes.contains(map.parallaxName)) {
              resParallaxes.push(map.parallaxName);
            }

            // map events
            map.events.forEach(function (event) {
              if (event) {
                event.pages.forEach(function (page) {
                  if (page) {
                    getResources(page.list, resTilesets, resParallaxes);
                  }
                })
              }
            })
          }
        });

        // common events
        $dataCommonEvents.forEach(function(commonEvent) {
          if (commonEvent) {
            getResources(commonEvent.list, resTilesets, resParallaxes);
          }
        });

        // troop events
        $dataTroops.forEach(function (troop) {
          if (troop) {
            troop.pages.forEach(function (page) {
              if (page) {
                getResources(page.list, resTilesets, resParallaxes);
              }
            })
          }
        })

        // add resource list to script
        var inspos = resListStart + 1;

        resTilesetNames = [];
        resTilesets.forEach(function(tilesetId) {
          var tileset = $dataTilesets[tilesetId];
          if (tileset) {
            tileset.tilesetNames.forEach(function(tilesetName) {
              if (tilesetName !== '' && !resTilesetNames.contains(tilesetName)) {
                resTilesetNames.push(tilesetName);
              }
            })
          }
        });

        var tag = ' * @requiredAssets';
        source.splice(inspos, 0, tag);

        resTilesetNames.forEach(function(tilesetName) {
          tag = ' * @requiredAssets ' + tilesetsFolder + tilesetName;
          source.splice(inspos, 0, tag);
        });

        resParallaxes.forEach(function(parallaxName) {
          tag = ' * @requiredAssets ' + parallaxesFolder + parallaxName;
          source.splice(inspos, 0, tag);
        });

        // and save the file
        source = source.join('\r\n');
        fs.writeFileSync(sourcePath, source, { encoding: 'utf8' });
      }
    }
  };

  getResources = function(list, aryTilesets, aryParallaxes) {
    list.filter(function (cmd) {
      return cmd.code === 282 || cmd.code === 284;
    }).forEach(function(cmd) {
      if (cmd.code === 282 && !aryTilesets.contains(cmd.parameters[0])) {
        aryTilesets.push(cmd.parameters[0]);
      }
      if (cmd.code === 284 && !aryParallaxes.contains(cmd.parameters[0])) {
        aryParallaxes.push(cmd.parameters[0]);
      }
    });
  };
})();[/pre]
回复

使用道具 举报

梦石
0
星屑
1147
在线时间
186 小时
注册时间
2007-2-27
回帖
108
 楼主| 发表于 2019-1-16 23:12:34 | 显示全部楼层
tseyik 发表于 2019-1-16 21:17
[fold]//=============================================================================
// Change Tile ...

谢谢大神帮助,我好好学习一下这歌插件
回复

使用道具 举报

梦石
0
星屑
383
在线时间
22 小时
注册时间
2017-1-14
回帖
15
发表于 2019-1-16 23:40:23 | 显示全部楼层
不会 只是看一下
回复

使用道具 举报

梦石
0
星屑
56
在线时间
9 小时
注册时间
2022-8-2
回帖
8
发表于 2022-12-7 10:51:50 | 显示全部楼层

RE: 图块大小如何调?

本帖最后由 空无zero 于 2022-12-7 10:57 编辑
tseyik 发表于 2019-1-15 17:11
Change Tile Size
https://forums.rpgmakerweb.com/index.php?threads/change-tile-size.46748/
導論


大神一到复制命名这一步尤其/这就不会了
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部