Rumah hujung hadapan web Tutorial H5 canvas游戏开发学习之一:初识<canvas>标签

canvas游戏开发学习之一:初识<canvas>标签

Jan 16, 2017 pm 04:52 PM
canvas Label pembangunan permainan

让我们从元素的定义开始吧。

<canvas id="myCanvas" width="150" height="150"></canvas>
Salin selepas log masuk

看起来很像,唯一不同就是它不含src
和alt
属性。它只有两个属性,width 和 height,两个都是可选的,并且都可以 用DOM 或者 CSS来设置。如果不指定width 和 height,默认的是宽300像素,高150像素。虽然可以通过 CSS来调整canvas的大小,但渲染图像会缩放来适应布局的(如果你发现渲染结果看上去变形了,不必一味依赖CSS,可以尝试显式指定canvas的width 和 height 属性值)。
结束标签是必须的。

元素可以像普通图片一样指定其样式(边距,边框,背景等等)。然而这些样式并不会对canvas实际生成的图像产生什么影响。下面我们会看到如何应用样式。如果不指定样式,canvas默认是全透明的。

因为
相对较新,有些浏览器并没实现,如Firefox 1.0 和 Internet Explorer,所以我们需要为那些不支持canvas的浏览器提供替用显示内容。我们只需要直接在canvas元素内插入替用内容即可。不支持canvas的浏览器会忽略canvas元素而直接渲染替用内容,而支持的浏览器则会正常地渲染canvas。例如,我们可以把一些文字或图片填入canvas内,作为替用内容:

<canvas id="game" width="150" height="150">
  Oh dear, your browser dosen&#39;t support HTML5! Tell you what, why don&#39;t you upgrade to a decent browser - you won&#39;t regret it!</canvas>

<canvas id="clock" width="150" height="150">
  <imgsrc="images/clock.png" width="150" height="150"/>
</canvas>
Salin selepas log masuk

创建的固定尺寸的绘图画面开放了一个或多个渲染上下文(rendering context),我们可以通过它们来控制要显示的内容。我们专注于2D 渲染上,这也是目前唯一的选择,可能在将来会添加基于OpenGL ES 的 3D 上下文。

初始化是空白的,要在上面用脚本画图首先需要其渲染上下文(rendering context),它可以通过 canvas 元素对象的getContext
方法来获取,同时得到的还有一些画图用的函数。getContext()
接受一个用于描述其类型的值作为参数。getContext()返回一个CanvasRenderingContext2D对象。

var canvas = document.getElementById(&#39;myCanvas&#39;);
var ctx = canvas.getContext(&#39;2d&#39;);
Salin selepas log masuk


上面第一行通过 getElementById方法取得 canvas 对象的 DOM 节点。然后通过其getContext
方法取得其画图操作上下文。

除了在那些不支持 的浏览器上显示替用内容,还可以通过脚本的方式来检查浏览器是否支持 canvas 。方法很简单,判断getContext
是否存在即可。
var canvas = document.getElementById(&#39;myCanvas&#39;);
if (canvas.getContext){
  var ctx = canvas.getContext(&#39;2d&#39;);
  // drawing code here
} else {
  // canvas-unsupported code here
}
Salin selepas log masuk

我们会用下面这个最简化的代码模板来(后续的示例需要用到)作为开始。


  
    Canvas tutorial
    
    
  
  
    <canvas id="myCanvas" width="150" height="150"></canvas>
  
Salin selepas log masuk

细心的你会发现我准备了一个名为draw
的函数,它会在页面装载完毕之后执行一次(通过设置body标签的onload属性),它当然也可以在其他事件处理函数中被调用。

以上就是canvas游戏开发学习之一:初识标签的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara mencari teks merentas semua tab dalam Chrome dan Edge Cara mencari teks merentas semua tab dalam Chrome dan Edge Feb 19, 2024 am 11:30 AM

Tutorial ini menunjukkan kepada anda cara mencari teks atau frasa tertentu pada semua tab terbuka dalam Chrome atau Edge pada Windows. Adakah terdapat cara untuk melakukan carian teks pada semua tab terbuka dalam Chrome? Ya, anda boleh menggunakan sambungan web luaran percuma dalam Chrome untuk melakukan carian teks pada semua tab terbuka tanpa perlu menukar tab secara manual. Sesetengah sambungan seperti TabSearch dan Ctrl-FPlus boleh membantu anda mencapai ini dengan mudah. Bagaimana untuk mencari teks merentas semua tab dalam Google Chrome? Ctrl-FPlus ialah sambungan percuma yang memudahkan pengguna mencari perkataan, frasa atau teks tertentu merentas semua tab tetingkap penyemak imbas mereka. Pengembangan ini

Bina permainan yang menakjubkan dengan Go Bina permainan yang menakjubkan dengan Go Apr 08, 2024 am 10:24 AM

Membina permainan yang menakjubkan menggunakan Go melibatkan langkah berikut: Menyediakan projek: Cipta projek baharu menggunakan Git dan cipta fail yang diperlukan. Tulis logik permainan: Tulis logik permainan teras dalam game.go, seperti permainan meneka nombor. Tulis titik masuk: Cipta titik masuk permainan dalam main.go, membenarkan input pengguna dan mengendalikan tekaan. Susun dan jalankan: Susun dan jalankan permainan Contoh praktikal ialah permainan meneka nombor. Pengguna boleh memasukkan nombor antara 0 dan 99 dan mendapatkan maklum balas.

Kuasai cara Golang mendayakan kemungkinan pembangunan permainan Kuasai cara Golang mendayakan kemungkinan pembangunan permainan Mar 16, 2024 pm 12:57 PM

Dalam bidang pembangunan perisian hari ini, Golang (bahasa Go), sebagai bahasa pengaturcaraan yang cekap, ringkas dan sangat bersesuaian, semakin digemari oleh pembangun. Perpustakaan standardnya yang kaya dan ciri-ciri konkurensi yang cekap menjadikannya pilihan berprofil tinggi dalam bidang pembangunan permainan. Artikel ini akan meneroka cara menggunakan Golang untuk pembangunan permainan dan menunjukkan kemungkinan besarnya melalui contoh kod tertentu. 1. Kelebihan Golang dalam pembangunan permainan Sebagai bahasa yang ditaip secara statik, Golang digunakan dalam membina sistem permainan berskala besar.

Bagaimana untuk memilih rangka kerja Java untuk pembangunan permainan Bagaimana untuk memilih rangka kerja Java untuk pembangunan permainan Jun 06, 2024 pm 04:16 PM

Apabila memilih rangka kerja Java dalam pembangunan permainan, anda harus mempertimbangkan keperluan khusus projek anda. Rangka kerja permainan Java yang tersedia termasuk: LibGDX: sesuai untuk permainan 2D/3D merentas platform. JMonkeyEngine: digunakan untuk membina permainan 3D yang kompleks. Slick2D: Sesuai untuk permainan 2D yang ringan. AndEngine: Enjin permainan 2D yang dibangunkan khusus untuk Android. Kryonet: Menyediakan keupayaan sambungan rangkaian. Untuk permainan 2DRPG, contohnya, LibGDX sesuai kerana sokongan merentas platform, reka bentuk ringan dan komuniti aktifnya.

Bagaimana untuk menambah tag pada Douyin untuk menarik trafik? Teg mana pada platform yang paling mudah untuk menarik trafik? Bagaimana untuk menambah tag pada Douyin untuk menarik trafik? Teg mana pada platform yang paling mudah untuk menarik trafik? Mar 22, 2024 am 10:28 AM

Sebagai platform sosial video pendek yang popular, Douyin mempunyai pangkalan pengguna yang besar. Bagi pencipta Douyin, menggunakan tag untuk menarik trafik ialah cara yang berkesan untuk meningkatkan pendedahan kandungan dan menarik perhatian. Jadi, bagaimanakah Douyin menggunakan tag untuk menarik trafik? Artikel ini akan menjawab soalan ini secara terperinci untuk anda dan memperkenalkan teknik yang berkaitan. 1. Bagaimana untuk menambah tag pada Douyin untuk menarik trafik? Apabila menyiarkan video, pastikan anda memilih teg yang berkaitan dengan kandungan. Teg ini harus merangkumi topik dan kata kunci video anda untuk memudahkan pengguna mencari video anda melalui teg. Memanfaatkan hashtag popular ialah cara yang berkesan untuk meningkatkan pendedahan video anda. Selidik teg dan aliran popular semasa dan masukkannya ke dalam perihalan dan teg video anda. Teg popular ini biasanya mempunyai keterlihatan yang lebih tinggi dan boleh menarik perhatian lebih ramai penonton. 3. Label

Apakah jam di belakang label TikTok? Bagaimana untuk menandakan akaun Douyin? Apakah jam di belakang label TikTok? Bagaimana untuk menandakan akaun Douyin? Mar 24, 2024 pm 03:46 PM

Apabila menyemak imbas Douyin berfungsi, kita sering melihat ikon jam di belakang teg. Jadi, apakah sebenarnya jam ini? Artikel ini akan menumpukan pada perbincangan tentang "Apakah jam di belakang label Douyin", dengan harapan dapat memberikan beberapa rujukan berguna untuk penggunaan Douyin anda. 1. Apakah jam di belakang label Douyin? Douyin akan melancarkan beberapa cabaran topik hangat Apabila pengguna mengambil bahagian, mereka akan melihat ikon jam selepas teg, yang bermaksud bahawa kerja itu mengambil bahagian dalam cabaran topik dan memaparkan baki masa cabaran. Untuk sesetengah kandungan sensitif masa, seperti cuti, acara khas, dsb., Douyin akan melampirkan ikon jam selepas label untuk mengingatkan pengguna tentang tempoh sah kandungan tersebut. 3. Teg popular: Apabila teg menjadi popular, Douyin akan menambah ikon jam selepas teg untuk menunjukkan bahawa teg itu

Cetuskan kreativiti permainan dengan bahasa Go Cetuskan kreativiti permainan dengan bahasa Go Apr 07, 2024 pm 04:39 PM

Untuk mencipta permainan 2D menggunakan bahasa Go, ikut langkah berikut: Pasang bahasa Go. Buat direktori projek dan mulakan modul Go. Cipta enjin permainan untuk mengendalikan grafik dan input. Buat objek permainan. Tulis program permainan utama. permainan lari.

Kes amali rangka kerja golang dalam pembangunan permainan Kes amali rangka kerja golang dalam pembangunan permainan Jun 02, 2024 am 09:23 AM

Kes praktikal rangka kerja Go dalam pembangunan permainan: Tindanan teknologi: Gov1.18, Rangka kerja Gin, seni bina MongoDB: Pelayan web (memproses permintaan HTTP), pelayan permainan (memproses logik dan komunikasi permainan), pangkalan data MongoDB (menyimpan data pemain) Pelayan web : Gunakan penghalaan Gin untuk mengendalikan permintaan penciptaan dan pemerolehan pemain Pelayan permainan: Mengendalikan logik permainan dan komunikasi pemain, gunakan soket UNIX untuk komunikasi rangkaian Pangkalan Data: Gunakan MongoDB untuk menyimpan data pemain, menyediakan fungsi mencipta dan mendapatkan maklumat pemain Fungsi kes sebenar: mencipta pemain , dapatkan pemain, kemas kini status pemain dan kendalikan interaksi pemain Kesimpulan: Rangka kerja Go menyediakan dengan cekap

See all articles