查看: 2880|回复: 7

[有事请教] 萌新求教:怎么设置三格事件

[复制链接]
梦石
0
星屑
56
在线时间
4 小时
注册时间
2021-8-3
回帖
3
发表于 2021-8-14 13:54:01 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 Niaaaaa 于 2021-8-14 14:07 编辑

请问事件只能设置为一格吗,有类似的插件可以多设置几格吗
梦石
0
星屑
5649
在线时间
600 小时
注册时间
2020-2-20
回帖
217
发表于 2021-8-14 14:20:12 | 显示全部楼层
区域判定吗?无论踩哪一块,都触发事件?
回复

使用道具 举报

梦石
0
星屑
56
在线时间
4 小时
注册时间
2021-8-3
回帖
3
 楼主| 发表于 2021-8-14 14:33:11 | 显示全部楼层
nie89 发表于 2021-8-14 14:20
区域判定吗?无论踩哪一块,都触发事件?

是的,请问要怎么做
回复

使用道具 举报

梦石
0
星屑
5649
在线时间
600 小时
注册时间
2020-2-20
回帖
217
发表于 2021-8-14 14:49:13 | 显示全部楼层
你试试那个地图图块里的r图层,把想要执行事件的部分都设置成同一个数字,然后加一个人物的位置判定,当人物再这些图块的区域内,执行某个公共事件。变量里截取人物的地图x,地图y,然后赋予他一个区域判定。 搜狗截图21年08月14日1447_1.png 这是我之前试的一个不同区域激活不同的声音的,你可以参照着试试你的事件看看能不能行?
回复

使用道具 举报

梦石
0
星屑
5649
在线时间
600 小时
注册时间
2020-2-20
回帖
217
发表于 2021-8-14 14:50:03 | 显示全部楼层
事件放在地图上并行处理。
回复

使用道具 举报

梦石
0
星屑
56
在线时间
4 小时
注册时间
2021-8-3
回帖
3
 楼主| 发表于 2021-8-14 14:51:46 | 显示全部楼层
nie89 发表于 2021-8-14 14:49
你试试那个地图图块里的r图层,把想要执行事件的部分都设置成同一个数字,然后加一个人物的位置判定,当人 ...

好的,我去试试,谢谢大大
回复

使用道具 举报

梦石
0
星屑
5649
在线时间
600 小时
注册时间
2020-2-20
回帖
217
发表于 2021-8-14 14:52:38 | 显示全部楼层
Niaaaaa 发表于 2021-8-14 14:51
好的,我去试试,谢谢大大

我也是萌新
回复

使用道具 举报

梦石
0
星屑
22879
在线时间
8598 小时
注册时间
2011-12-31
回帖
3270
发表于 2021-8-14 22:38:55 | 显示全部楼层
本帖最后由 tseyik 于 2021-8-14 22:41 编辑

* @help 允許您在單個事件中表示多個圖塊地圖。
  * 在將書架、床等創建為事件時有效。
  *
  * 使用方法:請註明活動注意事項如下。
  * \ w2 \ h2(w:水平瓦片數 h:垂直瓦片數)
  * 在寫在“左上角的地圖圖塊。
  *
  * 此插件沒有插件命令。


MultiTilemap.js[pre lang="javascript"]//=============================================================================
// MultiTilemap.js
// ----------------------------------------------------------------------------
// Copyright (c) 2015 Triacontane
// This plugin is released under the MIT License.
// http://opensource.org/licenses/mit-license.php
// ----------------------------------------------------------------------------
// Version
// 1.0.0 2015/11/18 初版
// ----------------------------------------------------------------------------
// [Blog]   : http://triacontane.blogspot.jp/
// [Twitter]: https://twitter.com/triacontane/
// [GitHub] : https://github.com/triacontane/
//=============================================================================

/*:
* @plugindesc 複数タイルマップイベント作成プラグイン
* @target MZ @url https://github.com/triacontane/RPGMakerMV/tree/mz_master @author トリアコンタン
* @version 1.00 2015/11/03 初版
*
* @help 複数のタイルマップを一つのイベントで表現できるようになります。
* 本棚やベッドなどをイベントとして作成する際に有効です。
*
* 使用方法:イベントのnoteを以下の通り指定してください。
*  \w2\h2 (w:横のタイル数 h:縦のタイル数)
* エディタ上でタイルマップを指定する際は、
* 「一番左上のタイルマップ」を指定してください。
*
* このプラグインにはプラグインコマンドはありません。
*
* 利用規約:
*  作者に無断で改変、再配布が可能で、利用形態(商用、18禁利用等)
*  についても制限はありません。
*  このプラグインはもうあなたのものです。
*/
(function () {

    //=============================================================================
    // Sprite_Character
    //  イベントの横幅と高さを適用させます。
    //=============================================================================
    Sprite_Character.prototype.setFrame = function(sx, sy, pw, ph) {
        Sprite.prototype.setFrame.call(this, sx, sy, pw * this._character._width, ph * this._character._height);
    };

    //=============================================================================
    // Game_CharacterBase
    //  キャラクターの横幅と高さを 1 で設定します。
    //  衝突とイベント起動判定に使う位置情報取得処理を書き換えます。
    //=============================================================================
    var _Game_CharacterBase_initMembers = Game_CharacterBase.prototype.initMembers;
    Game_CharacterBase.prototype.initMembers = function() {
        _Game_CharacterBase_initMembers.call(this);
        this._width  = 1;
        this._height = 1;
    };

    Game_CharacterBase.prototype.pos = function(x, y) {
        return (this._x - this._width / 2 <= x && this._x + this._width / 2 >= x) && (this._y === y);
    };

    //=============================================================================
    // Game_Event
    //  イベントから note を取得して横幅と高さを設定します。
    //=============================================================================
    var _Game_Event_refresh = Game_Event.prototype.refresh;
    Game_Event.prototype.refresh = function() {
        _Game_Event_refresh.call(this);
        var width = 1;
        var height = 1;
        if (this._tileId > 0) {
            var note = this.event().note;
            if (note) {
                note.toUpperCase().replace(/\\W(\d+)/, function() {width  = parseInt(arguments[1], 10);});
                note.toUpperCase().replace(/\\H(\d+)/, function() {height = parseInt(arguments[1], 10);});
            }
        }
        this._width = width;
        this._height = height;
    };
})();
[/pre]
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部