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

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: bloodship
打印 上一主题 下一主题

[有事请教] 关于插件编写

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1044
在线时间
251 小时
注册时间
2016-9-2
帖子
126
11
发表于 2017-11-2 21:52:36 | 只看该作者
bloodship 发表于 2017-11-2 21:37
对,就是你说的这个症状!
我练习一下,所以就改教程了。我想在插件界面选择图片就可以直接设置背景,不 ...

可以使用的吧,你具体要实现什么我还不是很清楚
这方面自己研究一下,具体的使用方法没有什么限定的

点评

掌握了读取图片,和读取插件参数的方法之后,具体的实现方式就看具体的代码逻辑了  发表于 2017-11-2 21:54
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1422
在线时间
112 小时
注册时间
2011-8-17
帖子
43
12
 楼主| 发表于 2017-11-2 22:19:46 | 只看该作者
雪在燃 发表于 2017-11-2 21:52
可以使用的吧,你具体要实现什么我还不是很清楚
这方面自己研究一下,具体的使用方法没有什么限 ...

我没学过编程,可能说的废话比较多还说的不清楚,大致情况是这样的:
我看系统自带的那个madewithmv的插件,可以选择替换那个madewithmv的图片,觉得很方便。
我就想把教程改成可以选择图片作为背景的。就这么写的
JAVASCRIPT 代码复制
  1. * @param 主菜单
  2. * @type file
  3. * @desc 主菜单背景使用的图片
  4. * @dir img\parallaxes



这样params里就是选择的图片了,可我看imagemanager他需要的是文件名。
我不知道究竟哪里错了,还是全错了。反正现在要么是不起作用,要么是黑的,要么就报错。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1044
在线时间
251 小时
注册时间
2016-9-2
帖子
126
13
发表于 2017-11-2 22:36:16 | 只看该作者
bloodship 发表于 2017-11-2 22:19
我没学过编程,可能说的废话比较多还说的不清楚,大致情况是这样的:
我看系统自带的那个madewithmv的插件 ...

这里的选择应该只是方便使用而已
实际上参数里面存储的就是文件名
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1044
在线时间
251 小时
注册时间
2016-9-2
帖子
126
14
发表于 2017-11-2 22:42:37 | 只看该作者
bloodship 发表于 2017-11-2 21:01
改成这样了,没有报错,但是背景是黑色的,应该是没有选择到图
var params = PluginManager.parameters("ed ...
  1. /*:
  2. * @plugindesc test
  3. * @author test
  4. *
  5. * @param 标题画面的图片选择
  6. * @type file
  7. * @desc 标题画面的图片使用的图片
  8. * @dir img\parallaxes
  9. */
  10. (function () {
  11.     var parameters = PluginManager.parameters('test');
  12.     var name = String(parameters['主菜单'] || '');
  13.     Scene_Title.prototype.createBackground = function () {
  14.         this._backSprite1 = new Sprite(ImageManager.loadParallax(name));
  15.         this._backSprite2 = new Sprite(ImageManager.loadTitle2($dataSystem.title2Name));
  16.         this.addChild(this._backSprite1);
  17.         this.addChild(this._backSprite2);
  18.     };
  19. })();
复制代码

js的名字是test,这就是一个通过参数修改标题画面的脚本
剩下还有问题,就是脚本的逻辑出现了问题

点评

非常感谢,我这个小白麻烦你了不少,学习了 ^ ^  发表于 2017-11-2 22:55
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1422
在线时间
112 小时
注册时间
2011-8-17
帖子
43
15
 楼主| 发表于 2017-11-2 22:48:52 | 只看该作者
雪在燃 发表于 2017-11-2 22:36
这里的选择应该只是方便使用而已
实际上参数里面存储的就是文件名

教程里是这么写的:
this._backgroundSprite.bitmap=ImageManager.loadParallax("Mountains1");
我这么写对吗?
this._backgroundSprite.bitmap=ImageManager.loadParallax(params[主菜单]);
或者还是这样
MENUimage = String(parmas[主菜单]);
this._backgroundSprite.bitmap=ImageManager.loadParallax(MENUimage);
哪个对,还是都错了
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1232
在线时间
1017 小时
注册时间
2011-4-30
帖子
1516
16
发表于 2017-11-5 20:26:11 | 只看该作者
本帖最后由 汪汪 于 2017-11-5 20:41 编辑

如果在脚本里调用图片,建议放到picture里,
在事件中调用一次 方便以后打包时 避免误删

JAVASCRIPT 代码复制下载
  1. /*:
  2. * @plugindesc test
  3. * @author test
  4. *
  5. * @param 主菜单
  6. * @desc 标题画面的图片使用的图片
  7. * @default 菜单
  8. */
  9. (function () {
  10. //这个是获test.js 这个插件  的所有参数,也就是参数组  赋予给 parameters 变量
  11. var parameters = PluginManager.parameters('test');
  12. //这个是获取参数组中  '主菜单'  这个的参数,把他赋予给 name 变量,
  13. //  String(xxx) 是为了转换为 字符串 ,其实一般不用转换也不会有问题..  
  14.     var name = String(parameters['主菜单'] || '');
  15.  
  16.     Scene_Title.prototype.createBackground = function () {
  17. //      ImageManager.loadParallax(name) 意思就是获取Parallax 文件夹中 名字为 name 这个变量的值 这个文件的 bitmap ,  
  18. //     new Sprite (xxx) 就是创建一个新精灵显示这个bitmap
  19.         this._backSprite1 = new Sprite(ImageManager.loadParallax(name));
  20.  
  21.         this._backSprite2 = new Sprite(ImageManager.loadTitle2($dataSystem.title2Name));
  22. //这一句是把这个精灵添加到场景中
  23.         this.addChild(this._backSprite1);
  24.         this.addChild(this._backSprite2);
  25.     };
  26. })();

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-10 17:49

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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