1

アプリケーションキャンバスを作成します。draw() 関数を呼び出すたびに、キャンバスに複数の画像が描画されます。問題は、Opera では動作しないことです。オンロード機能は常​​に機能するとは限りません。

    function draw(){
    ctx.clearRect (0, 0, canvas.width, canvas.height);
    var img = new Image();
    img.src = srcvolets;
    img.onload = function(){
        ctx.drawImage(img, 0, 0,canvas.width,canvas.height);
        if(srccouleur!=null){
            var img2 = new Image();
            img2.src = 'images/couleurs/'+volets+'/'+srccouleur+'.png';
            img2.onload = function(){
                ctx.drawImage(img2, 0, 0,canvas.width,canvas.height);
                if(srcsculpture!=null){
                    var img3 = new Image();
                    img3.src = cheminsculpt+srcsculpture;
                    img3.onload = function(){
                        if(volets=='furno'){
                            ctx.drawImage(img3, 175, 235);
                        }else{
                            ctx.drawImage(img3, 175, 242);
                        }                           
                    }
                }
}}}}

ありがとうございました。(私の英語でごめんなさい、私はフランス語を話します)

4

1 に答える 1

2

onloadこれは、キャッシュされている画像と、設定される前の発火に関係していると思います。

onloadを設定する前に、設定を試す必要がある場合がありますsrc問題については、この記事を参照してください。

于 2011-12-07T02:37:26.327 に答える