1

私は「Beginning Facebook Game Apps Dev」という本に取り組んでおり、第 3 章では、html ドキュメントのコードを作成する方法を紹介しています。

私は Mac を使用しており、TextEdit を使用してページを作成しています。最初に本は長方形と三角形を描くためのコードを与えました。どちらも問題ありませんでしたが、コードのローテーションを試してみると、ボックスのみが表示されます。

私はしばらくの間、専門家ではなくC++でプログラミングを行ってきましたが、インターネットがどのように機能するかについてはまだ何も知りません. とにかく、機能するコードと機能しないコードとの間で私が見ることができる唯一の違いは、回転するという事実です。四角形の場合は関数を呼び出しません。何が起こっているのか誰か教えてください。

ps: html 5 関数が機能しないことをグーグルで検索しようとしましたが、正直なところ、この特定の問題を検索する方法について言葉を失っています。

ありがとうございました

コード作業 (四角形を描く)

<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8" />
    <meta    name="viewport"    content="width=device-width,initial-scale=1">

    <title>A simple Canvas Square</title>
    <style type="text/css"    media="screen">
    #canvas
    {
        border: 1px solid #c0c0c0;
    }
    </style>

</head>
<body>
    <canvas id="canvas" width="270" height="270"></canvas>

    <script type="text/javascript"    charset="utf-8">

        var canvas = document.getElementById('canvas');
        var context = canvas.getContext('2d');

        context.fillStyle = "gray";
        context.fillRect(30, 30, 200, 200);
    </script>
</body>
</html>

コードが機能しない (ローテーション)

<!DOCTYPE HTML>
<html>
<head>
    <meta   http-equiv="content-type"   content="text/html;  charset=utf-8">

    <title>overlapping box</title>
    <style type="text/css"    media="screen">
    #canvas
    {
        border: 1px solid #c0c0c0;
    }
    </style>

</head>
<body>
    <canvas id="canvas" width="500" height="400"></canvas>

    <script type="text/javascript"    charset="utf-8">
        function draw(canvas Id)
        {
        "use strict";
        var canvas = document.getElementById(canvasId);
        var context = canvas.getContext("2d");

        context.fillStyle = "#091F5D";
        context.fillRect(10, 10, 160, 150);

        context.fillStyle = "rgba(255, 78, 0, 0.5)";
        context.fillRect(90, 90, 160, 150);

        context.fillStyle = "rgb(255, 78, 0)";
        context.fillRect(170, 160, 160, 150);
        }

        draw('canvas');
    </script>
</body>
</html>
4

1 に答える 1

3

この行で:

function draw(canvas Id)

「canvas」と「Id」の間にスペースを入れないでください。次のように変更します。

function draw(canvasId)

canvasIdパラメータの名前です(渡される値は、長方形を描画するキャンバス要素のIDです)。

于 2012-07-01T01:15:02.470 に答える