第12/90步《前端篇》第2章 编写一个简单的HTML5小游戏:打造游戏界面 第3课

简介: 今天学习《前端篇》第2章 编写一个简单的HTML5小游戏:打造游戏界面 第3课 绘制游戏标题,本节课从绘制一个文本开始,最终实现将游戏标题“挡板小游戏”展示在屏幕正中。

今天学习《前端篇》第2章 编写一个简单的HTML5小游戏:打造游戏界面 第3课 绘制游戏标题,本节课从绘制一个文本开始,最终实现将游戏标题“挡板小游戏”展示在屏幕正中。


学习目标


  • 安装与配置Visual Studio Code
  • 学习使用HTML标记
  • 拓展:如何使用const 关键字
  • 拓展:如何给代码添加注释
  • 如何改变字体、字号和颜色
  • 拓展:在font-family中要使用中文字体
  • 如何给文本添加文本样式(斜体、粗体)
  • 如何在绘制文本中使用渐变色
  • 如何让文本居中绘制
  • 拓展:为什么要在代码中使用常量

主要知识点/技能点


  • Visual Studio Code(以下简称VSCode)是编写JS最舒适的工具,没有之一,该开发工具可以从微软官网(code.visualstudio.com/)下载、安装。
  • 编程初学者极易犯的一类错误是中英文标点不分,代码中只能使用英文标点,所有中文单引号、双引号如果混进代码中都将引发错误。
  • 在画布的绘制上下文对象(ctx,类型为RenderingContext)中有一个fillText 方法,它可以用于绘制文本。
  • HTML是富文本标记语言,这门语言的主要作用在于标签和构建页面结构。每个HTML标记都是成对出现的,它们都具有相同的格式:...,其中tag可以是任何已定义的标签名称,例如html、body、head、canvas等。
  • 在HTML标记代码中,一个很重要的概念是属性。
  • CSS是一种样式描述语言,作用就是装饰、打扮HTML组件。CSS语法为分两部分,花括号外面是选择器,代表对谁应用样式描述,例如第9行canvas是一个元素选择器,代表对所有canvas元素应用样式;花括号里面是样式描述代码,每组样式都是成对出现的,冒号(:)前面是样式名,后面是样式值。
  • 等号代表赋值。
  • const 与 let 是 ES6 新增的两个重要关键字。let 声明的变量只在 let 所在的代码区块内有效。const 声明的常量,只有在声明时可以赋值,声明之后值就不能改变了。
  • 所有我们确定在声明后不会修改它的临时变量,都可以改用const关键字声明为常量。
  • 单行注释以两个斜杠(//)开头,放在代码行上方。如果注释内容不多,也可以把注释放在行尾。
  • 在 Canvas API中,我们可以使用 fillStyle 属性设置填充颜色,可以使用 font 属性指定文本的字体和字号。
  • 渲染上下文对象的font 属性中的 font-family,与 CSS中使用的 font-family,它们的值都必须是英文,这与我们平常在 Word 软件里看到的字体名称,例如如宋体、黑体是不一样的。
  • 可以通过 font 属性中的 font-style、font-weight 分别实现斜体、粗体效果。
  • font-weight 的选项共有9个级别(即100~900)或 4个预定义名称(即 normal、bold、bolder和lighter)。
  • 使用 createLinearGradient 可以创建线性渐变填充对象(CanvasGradient),这个对象也可以作为fillStyle的合法值。
  • 得益于 JS 是一门弱类型动态语言,所以 fillStyle 属性既可以设置为字符串,又可以设置为对象。
  • addColorStop方法的调用语法为:ctx.addColorStop(stop, color),其中 stop 是介于 0.0 与 1.0 之间的值,表示渐变中开始与结束之间的位置,color 是任意的 CSS颜色值。
  • 渲染上下文对象的measureText方法,这个方法可以返回一个文本在当前绘制环境中的理论尺寸对象,其中包括宽度。
  • CSS有一个text-align样式,一般设置其值为center,可以将文本居中。
  • measureText方法返回的尺寸信息中并不包含高度信息,文本的高度信息手动计算涉及到许多内容,但对于大多数字体而言,其字符M的宽度值近似等于其高度值。
  • 渲染上下文对象有一个属性叫做textBaseLine,它有6个有效值。
  • 在能使用常量的地方,就不要使用变量,不用担心常量多了会影响程序性能,一般情况下引用类型的全局常量多了才会影响性能,局部常量尤其是值类型的常量并不会影响性能。

实践疑难点


  • 如果代码中指定的字重不存在,比它小的字重将会被选用,这就造成有时候 800 与 600 的字重效果是一样的结果。

小结


这节课我们主要学习了如何绘制文本,及如何控制文本的颜色、大小、斜体、粗细等样式。


目录
相关文章
|
8天前
|
前端开发
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
26 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
|
1月前
|
移动开发 前端开发 搜索推荐
《前端技术基础》第01章 HTML基础【合集】
超文本标记语言(HyperText Markup Language,简称 HTML)是构建网页结构的基础标记语言。它与 CSS、JavaScript 协同,负责搭建网页“骨架”,用标签组织内容,像标题、段落、图片等元素,通过起始与结束标签(部分可单用,如`<img>`)界定层级与布局,将信息有序整合。标签含特定语义,向浏览器传达展示方式,为网页准确呈现及后续美化、交互筑牢根基。
83 25
|
2月前
HTML在线扫雷游戏网页源码
HTML在线扫雷游戏网页源码是一款基于HTML+CSS+JavaScript开发的在线扫雷小游戏单页源码,为用户提供了一个无需安装即可在浏览器中直接玩的扫雷游戏。该游戏的源码不仅包含了完整的游戏逻辑,还具备丰富的界面设计和用户交互功能,使得玩家能够轻松上手并享受扫雷带来的乐趣。
103 22
|
2月前
|
人工智能 前端开发 JavaScript
前端基础之HTML
Web1.0、Web2.0 和 Web3.0 标志着互联网发展的三个阶段。Web1.0(静态互联网,1990年代初至2000年代初)以静态内容和单向信息流为主,用户仅能浏览。Web2.0(互动互联网,2000年代初至2010年代初)引入了用户生成内容和社交网络,内容动态且互动性强。Web3.0(语义互联网,2010年代至今)强调语义化、个性化、智能化及去中心化,结合AI、区块链等技术,提供沉浸式体验。HTTP和HTML作为互联网基础协议和技术,在各阶段不断演进,共同推动了现代互联网的发展。
前端基础之HTML
|
3月前
|
移动开发 编解码 前端开发
摸鱼必备-80款在线HTML小游戏
本文推荐了80款精彩的HTML5在线小游戏,涵盖益智、冒险、射击、体育等多种类型,适合各年龄段玩家。无需下载安装,随时随地畅玩。地址:[https://game.share888.top/](https://game.share888.top/)
745 7
摸鱼必备-80款在线HTML小游戏
|
3月前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
68 6
|
3月前
|
移动开发 HTML5
HTML5熊猫弹跳手机小游戏源码
一款html5手机端小游戏源码,熊猫跳跃小游戏源码下载。熊猫脚底有弹簧,长按变化力度跳跃,计分游戏,html5手机熊猫也疯狂小游戏源代码。
69 5
|
3月前
|
移动开发 HTML5
html5+three.js公路开车小游戏源码
html5公路开车小游戏是一款html5基于three.js制作的汽车开车小游戏源代码,在公路上开车网页小游戏源代码。
104 0
html5+three.js公路开车小游戏源码
|
4月前
|
XML 前端开发 JavaScript
前端开发进阶:从HTML到React.js
【10月更文挑战第9天】前端开发进阶:从HTML到React.js
|
4月前
|
前端开发 JavaScript 数据安全/隐私保护
【前端基础篇】HTML零基础速通2
【前端基础篇】HTML零基础速通
37 2

热门文章

最新文章

  • 1
    以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
    29
  • 2
    大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
    51
  • 3
    【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
    26
  • 4
    巧用通义灵码,提升前端研发效率
    93
  • 5
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    141
  • 6
    详解智能编码在前端研发的创新应用
    96
  • 7
    智能编码在前端研发的创新应用
    83
  • 8
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    37
  • 9
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    121
  • 10
    【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
    75