首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >KineticJS -替换组内的图像

KineticJS -替换组内的图像
EN

Stack Overflow用户
提问于 2013-07-17 22:20:00
回答 1查看 325关注 0票数 0

请参阅此Link

当画布加载时,有两个图像:尤达和达斯·维德。

我希望能够点击Yoda (选择它),然后点击画布下的"change“按钮。点击这个按钮应该会用达斯·维德替换尤达,并且仍然保持选择“第二个”达斯·维德。

我的代码如下:

代码语言:javascript
复制
  function replaceImage(i, callback) {

      selectedGroup.destroy();

      var images = {};
      images[i] = new Image();
      images[i].onload = function() {
          callback(i,images);
      };
      images[i].src = sources[i].path;    
  }  

我尝试使用selectedGroup.removeChildren(),然后手动添加图像,但也不起作用-即

代码语言:javascript
复制
function replaceImage(i) {

      selectedGroup.removeChildren();

      var image = new Image();

        var newImage = new Kinetic.Image({
            id: i,
            image: image,
            x: 0,
            y: 0,
            width: sources[i].width,
            height: sources[i].height,
            name: 'image',
            stroke: 'red',
            strokeWidth: 2,
            strokeEnabled: false        
          });

        newImage.src = sources[i].path;
        selectedGroup.add(newImage);                  
  }  

有没有人看到我做错了什么?

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-18 00:58:13

与其销毁Yoda对象并创建新的Vader对象,不如直接使用setImage将Yoda image替换为Vader图像?

类似于:

代码语言:javascript
复制
// get the image object from the selected group
var ImageObjects = selectedGroup.get("Image");
var ImageObject=ImageObjects.toArray()[0];

// keep the Kinetic.Image object
// but replace its image
ImageObject.setImage(myNewImage);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17702319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档