什么是canvas?

canvas元素用于图形的绘制,通过脚本(js)来完成。canvas元素用于图形的绘制,通过脚本(js)来完成。

Canvas相关函数:

画长方形:

实心:

1. ctx.fillStyle=“#eee”;

2. ctx.fillRect(x坐标,y坐标,宽度值,高度值);

空心

1. ctx.strokeStyle=”#eee”;

2. ctx. strokeRect(x坐标,y坐标,宽度值,高度值);

画圆:

实心:

1. ctx .beginPath();

2. ctx.arc(x坐标,y坐标,半径,起始角度,结束角度2*Math.PI);

3. ctx.closePath();

4. ctx.fillStyle=“#eee”;

5. ctx.fill();

空心:

1.ctx.beginPath();

2.ctx.arc(x坐标,y坐标,半径,起始角度,结束角度2*Math.PI);

3.ctx.stroke();

画直线:

1.moveTo(x,y) 定义线条开始坐标,

2.lineTo(x,y) 定义线条结束坐标,

3.用stroke()来绘制线条

文本:

1. ctx.font属性定义字体

2. ctx .fillText(文本,x 坐标,y 坐标).实心的文本

3. ctx .fillText(文本,x 坐标,y 坐标).空心的文本

渐变:

创建线性渐变

ctx.createLinearGradient(起始位置的x坐标,起始位置的y坐标,渐变终点位置x1坐标, 渐变终点位置y1坐标)

创建径向渐变

ctx.createRadialGradient(渐变的开始圆的x坐标, 渐变的开始圆的y坐标,开始圆的半径,渐变的结束圆的x坐标, 渐变的结束圆的     y坐标,结束圆的半径)

addColorStop()方法指定颜色停止,参数使用坐标来描述,可以是0或1

使用渐变,设置fillStyle或strokeStyle的值为渐变,然后绘制

举个栗子

//创建渐变

var grd=ctx.createRadialGradient(75,5,0,5,90,60,100);

grd.addColorStop(0,” red”);

grd.addColorStop(1,” white”);

//填充渐变

ctx.fillStyle=grd;

ctx.fillRect(10,10,150,80)

图像:

1.img=new Image();

2.img.src=”地址”

3.ctx.drawImage(this.img,0,0)

具体游戏代码看下一篇文章....未完待续

创建第一个属于自己的canvas小游戏(基础知识)相关推荐

  1. 开发一个Canvas小游戏 实现一个游戏“引擎”

    前言 这个游戏其实在三四年前就写了,中间还重构过好几次,之前都是用简单的面向对象和函数式编程来写,游戏中的元素关系到还是分的挺开,但是游戏的渲染,运算等逻辑分的不够清晰,整个逻辑基本都是自顶向下的流水 ...

  2. 类打地鼠canvas小游戏

    HTML代码部分: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...

  3. 见缝插针 一个canvas小游戏

    一个canvas小游戏 https://github.com/Web-ZhangJian/jianfengchazhen JavaScript代码: var canvas=document.query ...

  4. 一个类打地鼠的canvas小游戏

    html 部分 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...

  5. 用C语言实现推箱子小游戏基础程序plus

    目录 设计一个简单的推箱子游戏 功能设计要求: 代码实现 数据定义头文件data_def.h 窗口设置头文件WindowsSet.h WindowsSet.cpp 上移函数 矩阵旋转函数 游戏帧 菜单 ...

  6. HTML5 Canvas小游戏

    知识点 canvas JavaScript 开发准备 代码获取 $ wget https://labfile.oss.aliyuncs.com/courses/361/simple_canvas_ga ...

  7. 在水果忍者游戏上做改编的中秋切月饼canvas小游戏

    <中秋切月饼游戏>                                                                                     ...

  8. 微信小游戏基础讲解 微信开发工具

    快速上手安装开发工具 前往 开发者工具下载页面 ,根据自己的操作系统下载对应的安装包进行安装. 你的第一个小游戏 新建项目选择小程序项目,选择代码存放的硬盘路径. 目前小游戏不提供公开注册,可点击体验 ...

  9. 世界上第一代电子计算机每秒运算次数,计算机基础知识讲稿一

    计算机基础知识讲稿 计算机基础知识讲稿(一) 一 信息与信息社会 信息:信息是指用语言.文字.声音.图象.符号.数字等为载体所表达的事物特征,是对事物存在方式.运行状态.相互联系特征的表达与描述. 信 ...

最新文章

  1. 浅谈SQL Server中统计对于查询的影响
  2. R语言构建文本分类模型:文本数据预处理、构建词袋模型(bag of words)、构建xgboost文本分类模型、基于自定义函数构建xgboost文本分类模型
  3. 机器学习基础专题:高斯判别分析
  4. vue 原理简单实现
  5. starling教程-纹理(Texture)
  6. WINCE下的MINGW交叉编译环境下内存崩溃地址的查找方法。
  7. Java实现将list数据取出并加入分隔符拼接,转换成String
  8. 【建议收藏】centos更新yum源为阿里云
  9. SpringBoot切换Tomcat容器,SpringBoot使用Jetty容器
  10. 走近分形与混沌(part10)--用简单的规律来描述复杂的大自然
  11. Java递归例子——求x的y幂次方
  12. 二级c语言加油,二级C语言 备考指南及常见问题(2013版)
  13. python 中内置函数
  14. java的几个概念AOP、IOC、DI、DIP、工厂模式、IOC容器
  15. 大工20秋《计算机原理》在线作业2答案,奥鹏大工15秋《计算机组成原理》在线作业2满分答案...
  16. 利用 TFLearn 快速搭建经典深度学习模型
  17. Android MPAndroidChart之柱状图BarChart
  18. mysql relay_mysql relay log参数汇总
  19. mysql出现1048_MySQLdb_异常操作错误:(1048,“……不能为空”)
  20. Linux内核模块最简驱动

热门文章

  1. 2022-11-10 工作记录--HTML-video视频铺满播放
  2. 3dmax——椅子案例
  3. 半导体中的缺陷和位错能级
  4. ResNet残差网络及变体详解(符代码实现)
  5. Pinata上传文件夹
  6. python实现16进制数转ASCII码并写入文本
  7. 用定积分定义求定积分(c++实现)
  8. Python系统模块增强库(xToolkit库)
  9. 分析Linux内核中进程的调度(时间片轮转)-《Linux内核分析》Week2作业
  10. eDNA检测技术的介绍