我正在製作一個網頁,魚在後臺移動。我爲每種魚類都有一個稱爲魚類和兒童課程的父級課程。 Fish類有一個打印方法,我想引用每個物種類實例通常使用的變量。我需要動態調整圖像大小,所以我想簡單地修改物種的變量並調整物種的每個物體。我的問題是:如何爲父類方法中每個類的每個實例使用的每個類創建一個變量?使用父類的方法中的子類的類變量,使變量可以動態更改(javascript)
這是我嘗試過的簡化版本。當然這是行不通的。任何幫助將非常感激。
<!DOCTYPE html>
<html>
<body>
<canvas id="myCanvas"></canvas>
</body>
<script>
function Fish(fi){
this.myPic = fi;
}
Fish.prototype.print = function(cnv, x, y){
cnv.drawImage(this.myPic,x,y);
};
function clownF(){Fish.call(this, clownF.pic);}
clownF.prototype = Object.create(Fish.prototype);
clownF.prototype.constructor = clownF;
clownF.pic = new Image();
clownF.pic.src = "clownF.png";
clownF.pic.onload = function(){
var c=document.getElementById("myCanvas");
c.width = 500;
c.height = 300;
var ctx=c.getContext("2d");
var f = new clownF();
f.print(ctx,10,10);
var temp = document.createElement('canvas');
temp.width = clownF.pic.width/2;
temp.height = clownF.pic.height/2;
var tctx = temp.getContext('2d');
tctx.drawImage(clownF.pic,0,0,temp.width,temp.height)
clownF.pic = temp;
f.print(ctx,100,100);
}
</script>
</html>
也許是這樣的:http://elegantcode.com/2011/01/19/basic-javascript-part-7-static-properties-and-methods/ – CBroe 2013-04-27 01:01:07
謝謝你,CBroe,鏈接。我實際上使用相同的帖子來創建我的程序如上所示。問題是每條魚都可能向前或向後移動,因此每個班級將會有2張圖片。每個單獨的對象都需要一個變量來確定哪個類圖像用於顯示。我需要像我想的指針。這樣每個對象都有一個指向兩個靜態類的變量之一的指針,當這些靜態變量改變了所有的對象時,它們就會相應地改變。這個指針需要在通用的Fish打印方法中使用。 – laertiades 2013-04-27 13:55:41