查看: 10037|回复: 11

[已经解决] 求问插件中显示图片的方法

[复制链接]
梦石
0
星屑
140
在线时间
345 小时
注册时间
2009-5-15
回帖
77
发表于 2016-1-4 22:51:54 | 显示全部楼层 |阅读模式

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

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

×
求问插件中显示图片的方法,或者系统默认插件中可供阅读的代码。

如果哪位老师能大概说明一下思路 就更好了。
敌人自动排列系统    1/1
技能类型着色   1/1
物品着色     0/1
仿网游强化系统    0/1
梦石
0
星屑
80
在线时间
386 小时
注册时间
2007-7-27
回帖
4075

开拓者

发表于 2016-1-4 23:09:26 | 显示全部楼层
本帖最后由 trentswd 于 2016-1-4 23:27 编辑

不知道你说的图片是什么,如果是说事件里面的显示图片,请参阅Interpreter里面的函数

如果指的是用sprite显示一个bitmap
注意以下代码全是伪代码,我并没有调试过

1. 载入bitmap
var bitmap = ImageManager.loadBitmap('img/picture/', 'pic', 0, true);

2 确认bitmap载入完成,或者使用addlistener增加回调监听
if(bitmap.isReady())
{
// do something
}

bitmap.addLoadListener(function(){
// do something
});

3 创建sprite
var sprite = new Sprite();
sprite.bitmap = bitmap; //将上面的bitmap赋到sprite.bitmap里面
sprite.setFrame(0,0, sprite.bitmap.width, sprite.bitmap.height);//设置显示范围

4 将sprite作为子节点放到当前已经在渲染的container或者sprite中。
例如当前的scene就是一个很好的父节点
if(SceneManager._scene)
{
SceneManager._scene.addChild(sprite);
}

下面是真代码,插在事件里面测试通过
[pre lang="javascript"]var bitmap = ImageManager.loadBitmap('img/faces/', 'Actor1', 0, true);
bitmap.addLoadListener(function(){
  var sprite = new Sprite();
  sprite.bitmap = bitmap;
  sprite.setFrame(0,0,bitmap.width, bitmap.height);
if(SceneManager._scene)
{
SceneManager._scene.addChild(sprite);
}
});[/pre]

评分

参与人数 1梦石 +1 收起 理由
余烬之中 + 1 认可答案

查看全部评分

吸吸
回复

使用道具 举报

梦石
0
星屑
140
在线时间
345 小时
注册时间
2009-5-15
回帖
77
 楼主| 发表于 2016-1-5 10:27:00 | 显示全部楼层
trentswd 发表于 2016-1-4 23:09
不知道你说的图片是什么,如果是说事件里面的显示图片,请参阅Interpreter里面的函数

如果指的是用sprite ...

实在是太全面了,就是因为之前的代码太过分散,很多尝试写的代码调不通,这太好了。
敌人自动排列系统    1/1
技能类型着色   1/1
物品着色     0/1
仿网游强化系统    0/1
回复

使用道具 举报

梦石
0
星屑
140
在线时间
345 小时
注册时间
2009-5-15
回帖
77
 楼主| 发表于 2016-1-5 10:31:29 | 显示全部楼层
trentswd 发表于 2016-1-4 23:09
不知道你说的图片是什么,如果是说事件里面的显示图片,请参阅Interpreter里面的函数

如果指的是用sprite ...

另外请问,在窗口中显示图片,一定要使用精灵类么?

因为js脚本中代码的注释实在是太少,不知道操作精灵的几个常用的方法都有什么。
敌人自动排列系统    1/1
技能类型着色   1/1
物品着色     0/1
仿网游强化系统    0/1
回复

使用道具 举报

梦石
0
星屑
60
在线时间
306 小时
注册时间
2014-8-5
回帖
403
发表于 2016-1-5 11:40:53 | 显示全部楼层
本帖最后由 夏末渐离 于 2016-1-5 11:43 编辑

无标题.png



摘自:F1帮助文档JS库Sprite
  点我进入    
       ↓      
回复

使用道具 举报

梦石
0
星屑
80
在线时间
386 小时
注册时间
2007-7-27
回帖
4075

开拓者

发表于 2016-1-5 12:42:13 | 显示全部楼层
虽然帮助文档里面有,不过推荐看看源码,看看它怎么实现的。窗口里面显示图片其实很多是直接blt到窗口的contents上,例如默认对话框的头像。
吸吸
回复

使用道具 举报

梦石
0
星屑
140
在线时间
345 小时
注册时间
2009-5-15
回帖
77
 楼主| 发表于 2016-1-5 22:16:33 | 显示全部楼层
请问应该用什么方法让精灵显示动态图,setFrame只能显示一张图片。

难道是定义多个精灵,然后通过addchild装进另一个精灵,然后用updata去遍历显示所有精灵?

这个帮助文档实在太坑,很多参数直接就放个object上去,而且连用例都没有,完全不知道应该怎么去试验。

举个例子,我想在一个窗口里显示一个精灵,比如人物的战斗图,站在那里不停晃动的那种,我应当怎么做,感谢师傅。

点评

当然是每帧setFrame范围不一样来显示动画啊……  发表于 2016-1-5 22:26
敌人自动排列系统    1/1
技能类型着色   1/1
物品着色     0/1
仿网游强化系统    0/1
回复

使用道具 举报

梦石
0
星屑
140
在线时间
345 小时
注册时间
2009-5-15
回帖
77
 楼主| 发表于 2016-1-6 10:42:38 | 显示全部楼层
trentswd 发表于 2016-1-5 12:42
虽然帮助文档里面有,不过推荐看看源码,看看它怎么实现的。窗口里面显示图片其实很多是直接blt到窗口的con ...

只是我看sprite也没有帧这个属性,setFrame只是指定了显示图片的位置与宽度,并没有说明是如何显示图片。
敌人自动排列系统    1/1
技能类型着色   1/1
物品着色     0/1
仿网游强化系统    0/1
回复

使用道具 举报

梦石
0
星屑
1232
在线时间
1017 小时
注册时间
2011-4-30
回帖
1464
发表于 2016-1-6 10:48:47 | 显示全部楼层
动态图的话,首先设置一个计数,确定是哪一帧,
当变化时,使用setFrame把需要部分的显示出来就好.

回复

使用道具 举报

梦石
0
星屑
140
在线时间
345 小时
注册时间
2009-5-15
回帖
77
 楼主| 发表于 2016-1-6 11:03:56 | 显示全部楼层
trentswd 发表于 2016-1-4 23:09
不知道你说的图片是什么,如果是说事件里面的显示图片,请参阅Interpreter里面的函数

如果指的是用sprite ...

还是有些晕头了,本来就是脚本新手,插件里的注释基本为零,眼下除了改窗口坐标这种入门级的内容可以上隔壁翻ruby去还能蒙对一点,精灵这边基本上就看不懂。

我现在想找一找在窗口中显示玩家战斗中待机动作的方法,不知道师傅能否告知一二。
敌人自动排列系统    1/1
技能类型着色   1/1
物品着色     0/1
仿网游强化系统    0/1
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部