qpwoeiruyt 发表于 2021-4-16 18:05:35

函数继承后修改属性的问题

本帖最后由 qpwoeiruyt 于 2021-4-16 11:07 编辑

function Sprite(imgPath = "", insideDOM = window.document.getElementById("playground")) {
            this.pos = Position(0, 0);
            let img = document.createElement("img");
            img.setAttribute('style', 'top:0px;left:0px;transition:all 1s');
            img.setAttribute('src', imgPath);

            insideDOM.appendChild(img);
            this.img = img;
            this.speedX = 0;
            this.speedY = 0;
      }


function NPC1(imgPath = "x_wing.png", insideDOM = window.document.getElementById("playground")) {
            Sprite.call(this, imgPath, insideDOM);
      };
      NPC1.prototype = new Sprite();
      NPC1.prototype.constructor = NPC1;

        请问这里如何改变生产图片的位置呢?NPC1 继承了Sprite函数生成图片的位置 , 除了直接在上面Sprite的函数中修改 。
       
      NPC1.img.setAttribute('style', 'left:110px');//这方法报错

kogawananari 发表于 2021-4-16 18:28:29

img是实例的属性 只有实例.img.setAttribute('style', 'left:110px')可以修改位置

qpwoeiruyt 发表于 2021-4-16 18:36:21

kogawananari 发表于 2021-4-16 11:28
img是实例的属性 只有实例.img.setAttribute('style', 'left:110px')可以修改位置

如果我没在sprite函数设置img 的style 。 那我还能不能在NPC1 函数里面设置img的style ?

kogawananari 发表于 2021-4-16 19:23:31

qpwoeiruyt 发表于 2021-4-16 18:36
如果我没在sprite函数设置img 的style 。 那我还能不能在NPC1 函数里面设置img的style ?

再写个类 继承之后派生一个修改属性的方法直接修改也行
页: [1]
查看完整版本: 函数继承后修改属性的问题