零基礎HTML5遊戲製作教程 第2章 簡單圖形的繪製

來源:互聯網
上載者:User

標籤:

第二章 簡單圖形的繪製

    HTML5支援使用Canvas和SVG等方式在網頁直接繪製圖形。其中SVG適合用來繪製高品質的向量圖形,不適合用來做遊戲,所以我們做遊戲一般使用Canvas。    

    由於本教程以簡單為原則,所以在初學階段請不要把注意力分散到美工、畫質等細節,我們只需要掌握矩形、多邊形、圓形等簡單圖形的繪製,並對這些圖形編程,使之具有一定的運動能力和遊戲效果。

    (如果你偷懶,你甚至可以跳過本章中多邊形和圓形的繪製,只學矩形,然後直接去看下一章。)

一,矩形的繪製

    命令的格式是context.fillRect(x,y,width,height)

    其中參數x為矩形的左上方座標,y是右上方座標,width是矩形的寬度(像素點),height是矩形的高度(像素點)。

    繪製之前,一般還要指定充填的顏色,不指定的話預設為黑色。

    命令是context.fillStyle=“green”;

    比如,你要做一個綠色的小方塊的話,可以這樣實現:

context.fillStyle=“green”;context.fillRect(30,30,100,100);

看起來是這樣的()。這隻是一個靜態方塊,下一章會講到怎麼讓她動起來。

二,多邊形的繪製
    多邊形的繪製比矩形要稍微複雜一點,因為Canvas只提供了矩形的直接繪製的函數,其他多邊形要一條一條線條地自己繪製。
    需要用到5個函數,分別是context.beginPath();context.moveTo();context.lineTo();context.closePath();context.fill();
    各函數的作用分別如下:
    context.beginPath();用於開始一個新路徑
    context.moveTo();用於將canvas的當前座標移動到指定位置
    context.lineTo();用於繪製一條當前點到指定點的線段
    context.closePath();用於將當前點和起始點串連,從而得到一個閉合的圖形
    context.fill();用於充填顏色。
    下面以最簡單的多邊形,三角形為例

context.beginPath();context.moveTo(100,100);context.lineTo(50,200);context.lineTo(150,200);context.closePath();context.fillStyle="green";context.fill();

得到的三角形如。

三,圓形的繪製
    其實電腦繪製的是一段圓弧,最後通過closePath()首尾相接。
    需要用到的函數是context.arc(x,y,r,sAngel,eAngel,countclockwise);
    其中x為圓心橫座標,y為圓心縱座標,r為半徑,sAngel為起始角度(用弧度表示),eAngel為結束角度(以弧度表示),countclockwise為可選項,指定順時針或逆時針方向。
    下面結合多邊形的畫法,畫一個缺一個角的圓圈。

context.beginPath();context.arc(100,100,50,0,1.5*Math.PI);context.lineTo(100,100);context.closePath();context.fillStyle="green";context.fill();

如:

 

零基礎HTML5遊戲製作教程 第2章 簡單圖形的繪製

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.