![参考图片] http://imgur.com/a/G9Skz
在screen1中,用户点击指甲,屏幕2显示用户在指甲上进行设计(基本上在指甲上添加一些图层),之后它看起来像是screen3。
现在我想要的是当用户回到屏幕1时,应该看到他在他敲击的钉子处设计的钉子。
我该怎么做?
谢谢!
PS:
我试过nail_sprite-> getTexture(),但它只返回指甲精灵而不是它的孩子。
nail_sprite的子项包含用户在运行时绘制一些东西的层,所以我不能只拿起整个draw_layer我只需捕获部分用户绘制的东西。
答案 0 :(得分:1)
第一种方法是通过参数将选定的精灵指甲传递给下一个场景。所以在Scene1中尝试这个:
var nailSprite1;
var nailSprite2;
var nailSprite3;
//and so...
var selectedNailSprite = nailSprite1;
Scene3:
selectedNailSprite.addChild(otherSprite);
场景1:
selectedNailSprite.getChildren();
并且在返回到Scene1之后,你将拥有所有孩子的精灵。不要重新创建它,在场景之间分享:)
实现第二种方法是从场景3制作Sprite的屏幕截图并将其保存在设备上。接下来,您可以在场景1中加载它。
第三种方法是将指甲的结构从Scene3保存为XML或其他格式,并将其加载到Scene1中:D
答案 1 :(得分:0)
这是我根据@sortris第一种方法实现的。
我在parentLayer中创建了一个方法addLayer,当我在child中添加一个图层时我也调用了父方法。 如果是stencil.drawDot,当我在子图层中绘制一个节点时,我也通过调用parentDot的父方法在父Sprite中绘制一个节点。