如何显示图片的不同部位

大家好,本人初入游戏行业,目前碰到一个问题,不知道该怎么优雅的解决。我想实现一个控件,这个空间的背景是一张大图片,本质上是由很多张连续的大小相同的小图片组成,形成了一个连续的动画,和动画从头至尾连续的放映一次不同的是,我希望自己可以精准的控制显示第n张小图片,现在不知道在cocos2d-x 3.x里如何效率很高的实现这个想法,希望大拿们能给个思路。小弟万分感谢。

这个空间的背景是一张大图片,本质上是由很多张连续的大小相同的小图片组成,形成了一个连续的动画

???

究竟是组成一张大图片 还是 逐侦动画 ???????

是一张大的图片,我就是想根据我的需要显示这个大图片的某个部分,并且当从网络端接收数据以后,根据这个数据,我要显示图片的其他部分的。相当于拿个矩形框,在大图片上不停的切图,然后在屏幕上显示切下来的小矩形。

— Begin quote from ____

引用第2楼liuy_epaudio于2016-02-03 17:42发表的 回 1楼(一只会喷火的龙) 的帖子 :
相当于拿个矩形框,在大图片上不停的切图,然后在屏幕上显示切下来的小矩形。 http://www.cocoachina.com/bbs/job.php?action=topost&tid=459099&pid=1495421

— End quote

如果你的大图是一整张 你自己说的就是解决方法 cocos自己封装了opgl的东西 解决的方法很多 百度下
提供一种

static Sprite* create(const std::string& filename, const Rect& rect);

cocos自己也封装了个节点 ClippingNode 自己看看怎么用

以上嫌麻烦或者看不懂怎么用 就自己封装个东西

大概思路就是把你的小图片都存进一个数组里面,然后网络传来数据就解析成下标把屏幕移过去,再遍历数组把其他图片设置成不显示或者(其他你想要的形式)

哦,谢谢了。我查下你说的clippingNode,看怎么用这个函数

朋友,我查过你说的这个ClippingNode,就是被大家称为遮罩的类,这个类和我想要实现的功能很类似了,但是差那么一点。我想要的效果是,控件的位置是固定在我的UI上不动的,但是这个UI的背景精灵是从大图上任意的地方切下来的。

把大图的所有切图做成帧动画,根据收到的数据播放对应的帧不就行了吗??????????:881:

直接用全图实例精灵然后设置setTextureRect不行么?
或者自己写一个plist文件…用spriteframe来控制

(帖子被作者删除,如无标记将在 24 小时后自动删除)