查看: 4955|回复: 12

[有事请教] 如何让图片固定在地图的某个坐标上不随玩家移动

[复制链接]
梦石
0
星屑
6379
在线时间
608 小时
注册时间
2017-9-27
回帖
205
发表于 2021-3-25 10:14:08 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 天浩 于 2021-3-25 12:12 编辑

如何让图片固定在地图的某个坐标上不随玩家移动

或者 能告诉我让图片跟随  玩家移动   的脚本语句在哪吗?

梦石
0
星屑
22573
在线时间
2604 小时
注册时间
2015-7-4
回帖
917
发表于 2021-3-25 10:38:24 | 显示全部楼层
图片做成行走图,用事件做,勿选站立动画,勾选固定方向。

点评

如果用事件做,就不问了。  发表于 2021-3-25 12:09
回复

使用道具 举报

梦石
0
星屑
3922
在线时间
1198 小时
注册时间
2016-8-9
回帖
2355

开拓者

发表于 2021-3-25 15:24:22 | 显示全部楼层
建议使用钻头大佬的多层背景插件,可固定在场景任何一层,也可做卷轴背景
酸酸甜甜就④哇噢
回复

使用道具 举报

梦石
0
星屑
29896
在线时间
5733 小时
注册时间
2016-3-8
回帖
1653
发表于 2021-3-25 15:46:44 | 显示全部楼层
本帖最后由 alexncf125 于 2021-3-25 15:54 编辑
如何让图片固定在地图的某个坐标上不随玩家移动

[pre lang="javascript"]//=============================================================================
// TTK - Fix Picture (v1.0.0)
// by Fogomax
//=============================================================================
  

/*:
  * @author Fogomax
  * @plugindesc This plugin fixes the images in the map
  * <TTK FixPicture>
  * @help
    ===========================================================================
    ● Explanation
    ===========================================================================
    This plugins fixes the image in the map and in the coordenates specifieds
    in the event command, its not necessary the position be 0, 0. Because of
    this feature, you still can use the Move Picture command with fixed
    pictures.
    ===========================================================================
    ● Use
    ===========================================================================
    Just include the prefix in the image file name. Using the default Fix
    Prefix, the image name would be "[FIX]Image.png".
    @param Fix Prefix
    @desc The prefix the image needs have to be fixed
    @default [FIX]
*/

var Imported = Imported || {};
Imported["TTK_FixPicture"] = "1.0.0";

var TTK = TTK || {};
TTK.FixPicture = {};

"use strict";

(function($) {
        $.Params = $plugins.filter(function(p) { return p.description.contains('<TTK FixPicture>'); })[0].parameters;

        //-----------------------------------------------------------------------------
        // Plugin global variables
        //

        $.fixPrefix = $.Params["Fix Prefix"];

        //-----------------------------------------------------------------------------
        // Sprite_Picture
        //

        var _Sprite_Picture_updatePosition = Sprite_Picture.prototype.updatePosition;

        Sprite_Picture.prototype.updatePosition = function() {
                if (~this.picture().name().indexOf($.fixPrefix)) {
                    var picture = this.picture();
                    this.x = (-$gameMap.displayX() * 48) + picture.x();
                    this.y = (-$gameMap.displayY() * 48) + picture.y();
                } else {
                        _Sprite_Picture_updatePosition.call(this);
                }
        };
})(TTK.FixPicture);[/pre]
ps. 没测试

让图片跟随  玩家移动   的脚本语句在哪

不知道

点评

谢谢,完全可以。  发表于 2021-3-25 23:14

评分

参与人数 1赞 +1 收起 理由
天浩 + 1 认可答案

查看全部评分

回复 2 0

使用道具 举报

梦石
0
星屑
398
在线时间
45 小时
注册时间
2023-9-15
回帖
7
发表于 2024-1-15 15:19:58 | 显示全部楼层
请问这些语句怎么用啊?
回复

使用道具 举报

梦石
0
星屑
7009
在线时间
1280 小时
注册时间
2016-12-6
回帖
378
发表于 2024-1-15 15:44:34 | 显示全部楼层
yuna8922842 发表于 2024-1-15 15:19
请问这些语句怎么用啊?

楼上发的是插件代码,你需要新建一个空白的.js文件,然后把代码全部黏贴进去保存并重命名为TTK_FixPicture.js制成插件
导入插件后,你只需要把需要固定坐标的图片追加[FIX]的前缀名就视为激活功能,没有脚本或插件指令
比如原本图片名是【我是一张图.png】,修改成【[FIX]我是一张图.png】后,游戏中显示该图片就会自动适配地图坐标,不会受地图滚动而影响,没有追加前缀名的图片则照旧只跟随镜头
回复

使用道具 举报

梦石
0
星屑
398
在线时间
45 小时
注册时间
2023-9-15
回帖
7
发表于 2024-1-15 16:22:12 | 显示全部楼层
试了不行呀,哪里没弄对吗。。。
回复

使用道具 举报

梦石
0
星屑
7009
在线时间
1280 小时
注册时间
2016-12-6
回帖
378
发表于 2024-1-15 17:02:04 | 显示全部楼层
yuna8922842 发表于 2024-1-15 16:22
试了不行呀,哪里没弄对吗。。。

我测试过插件可行,你是不是针对图片的XY轴设置没调好导致没看见?

this.x = (-$gameMap.displayX() * 48) + picture.x();
this.y = (-$gameMap.displayY() * 48) + picture.y();

受插件影响,图片每次位置刷新都会减去地图图块的尺寸,比如你做了一张40X20的地图
你的图片在显示设置时都需要为X轴修正上调40X48= 1920  Y轴修正上调40X48= 960

回复

使用道具 举报

梦石
0
星屑
398
在线时间
45 小时
注册时间
2023-9-15
回帖
7
发表于 2024-1-15 20:49:08 | 显示全部楼层
shiroin 发表于 2024-1-15 17:02
我测试过插件可行,你是不是针对图片的XY轴设置没调好导致没看见?

this.x = (-$gameMap.displayX() *  ...

我测试了地图是60*40,在文件夹pictures下放置了 [FIX]风车叶.png 图片,我做了个事件,
执行内容:显示图片,编号1,图像名称 [FIX]风车叶
原点:中心
直接指定
X:3648
Y:3072
结果就是图片显示在右下角屏幕外面看不到了
在这之前我测试的XY轴没超地图界限,显示在屏幕中跟随主角移动而移动....
大佬确定这些语句不用填写任何内容直接做成js后缀放进插件里吗?插件里有两个参数也默认不修改吗?
回复

使用道具 举报

梦石
0
星屑
7009
在线时间
1280 小时
注册时间
2016-12-6
回帖
378
发表于 2024-1-15 21:11:29 | 显示全部楼层
yuna8922842 发表于 2024-1-15 20:49
我测试了地图是60*40,在文件夹pictures下放置了 [FIX]风车叶.png 图片,我做了个事件,
执行内容:显示 ...

我把我的发给你,我是自己有测试过效果的,不需要再编辑什么,即插即用

TTK_FixPicture.zip

898 Bytes, 下载次数: 14

回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部