js带文字的圆随机运动
<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text" charset="utf-8" />
</head>
<body>
<canvas id="one" height="1000" width="1000"></canvas>
<script src="./weixin.js"></script>
</body>
</html>
用textBaseline定位高度在中间,
用textAlign定位宽度在中间
以下代码画了有边缘的圆及文字
var c=document.getElementById("one");
var ctx=c.getContext("2d");
ctx.strokeStyle="black";
ctx.beginPath();
ctx.fillStyle="lightgreen";
ctx.arc(100,100,50,0,Math.PI*2,false);
ctx.stroke();
ctx.fill();
ctx.beginPath();
ctx.fillStyle="white";
ctx.font="40px Arial";
ctx.textBaseline="middle";
ctx.textAlign="center";
ctx.fillText("He",100,100);
ctx.strokeText("He",100,100);
circle
以下是随机运动的圆(不过这个圆和文字是没有边缘线的,因为我觉得加边缘线太丑了),令人苦笑不得的是最后它们都停留在了画布边缘..
var c = document.getElementById("one");
var ctx = c.getContext("2d");
var arrHe = [];
var arrNe = [];
var numHe = 100;
var numNe = 5;
//随机点
for (var i = 0; i < numHe; i++) {
arrHe.push({
x: rnd(c.width,50),
y: rnd(c.height,50),
speedX: rndSign() * rnd(1,0),
speedY: rndSign() * rnd(1,0)
});
}
setInterval(
function (){
ctx.clearRect(0, 0, c.width, c.height);
//He绘画
arrHe.forEach(
function(dot) {
var {
x,
y,
speedX,
speedY
} = dot;
ctx.beginPath();
ctx.fillStyle = "lightgreen";
ctx.arc(dot.x, dot.y, 50, 0, Math.PI * 2, false);
ctx.fill();
ctx.beginPath();
ctx.fillStyle = "white";
ctx.font = "40px Arial";
ctx.textBaseline = "middle";
ctx.textAlign = "center";
ctx.fillText("He", dot.x, dot.y);
if (dot.x < 0 || dot.x > c.width) {
speedX *= -1;
}
if (dot.y < 0 || dot.y > c.height) {
speedY *= -1;
}
dot.x += speedX;
dot.y += speedY;
});
}
,16);
//生成随机点位置和随机方向
function rnd(m,n) {
return Math.random() * (m-n);
}
function rndSign() {
return Math.random() >0.5 ? 1:-1;
}
move
array.forEach(function(currentValue, index, arr), thisValue)
currentValue 必须。当前元素。
index 可选。当前元素的索引值。
arr 可选。当前元素所属的数组对象。
thisValue 可选。不填时,默认为this
js带文字的圆随机运动的更多相关文章
- js 实现文字滚动功能,可更改配置参数 带完整版解析代码。
前言: 本人纯小白一个,有很多地方理解的没有各位大牛那么透彻,如有错误,请各位大牛指出斧正!小弟感激不尽. 本篇文章为您分析一下原生JS写文字滚动效果 需求分析: 需要 ...
- 初探JavaScript(三)——JS带我"碰壁"带我飞
已经写了两篇关于小白的JavaScript之行,不可否认,每一种语言都有其精华与糟粕之处,来不及细细体味其精华奥妙,也没法对其评头论足,只能先了解,后深入.到目前为止已经看完<JavaScrip ...
- Android开发学习之路-带文字的图片分享
有用过微信分享SDK的都应该知道,微信分享到朋友圈的时候是不能同时分享图片和文字的,只要有缩略图,那么文字就不会生效.那么问题就来了,如果我们想把APP内的某些内容连带图片一起分享到微信,是不是没办法 ...
- Android实现自定义带文字和图片的Button
Android实现自定义带文字和图片的Button 在Android开发中经常会需要用到带文字和图片的button,下面来讲解一下常用的实现办法. 一.用系统自带的Button实现 最简单的一种办法就 ...
- js实现文字截断
先前用jq做了一个文字截断功能,但是不用jq的项目要实现此功能还要引如jq显得过于麻烦.这里写了一个js的文字截断功能.直接上代码. HTML(测试用的): <div>我是pox我是pox ...
- js实现文字逐个显示
先把代码摆上了吧: <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtm ...
- 使用JS实现文字搬运工
使用JS实现文字搬运工 效果图: 代码如下,复制即可使用: <!DOCTYPE html> <html><head><meta http-equiv=&quo ...
- 【Android】Android实现自定义带文字和图片的Button
在Android开发中经常会需要用到带文字和图片的button,下面来讲解一下常用的实现办法. 一.用系统自带的Button实现 最简单的一种办法就是利用系统自带的Button来实现,这种方式代码量最 ...
- JS控制文字只显示两行,超出部分显示省略号
由于使用css控制文字只显示多行,超出部分显示省略号,存在一定的兼容性问题,所以总结了一下网上一些大咖使用js实现控制行数的解决方案. 第一步:依次引入jquery.js+jquery.ellipsi ...
随机推荐
- 【离散数学】 SDUT OJ 1.3按位AND和按位OR
1.3按位AND和按位OR Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 已知长度为 ...
- python tkinter 基本操作与事件
基本操作 import tkinter as tk # 引入tk 包 win=tk.Tk() # 引入窗口对象 win.title("窗口标题") # 窗口标题 win.geome ...
- Docker Run 设置环境变量
Docker Run We can then override the environment variables set in the Docker file when running the im ...
- Kibana6.x.x源码分析--如何自定义savedObjectType对象
上篇说到了如何使用kibana自带的savedObjectType对象,现在我们来自定义一个自己的savedObjectType. 下面的截图是我自己模仿写的保存对象,以及如何在kibana插件中注册 ...
- POJ3635 Full Tank? 优先队列BFS or 分层图最短路 or DP?
然而我也不知道这是啥啊...反正差不多...哪位大佬给区分一下QWQ.. 好的,我把堆的<写反了..又调了一个小时..你能不能稳一点.... 记录状态:所在位置u,油量c,花费w 扩展状态: 1 ...
- HDU - 1588 矩阵前缀和
题意:给定\(k,b,n,m\),求\(\sum_{i=0}^{n-1}f(g(i))\) 其中\(f(i)=f(i-1)+f(i-2),f(1)=1,f(0)=0\),\(g(i)=k*i+b\) ...
- C++ STL之Vector
向量 vector 是一种对象实体, 能够容纳许多其他类型相同的元素, 因此又被称为容器. vector 属于STL(Standard Template Library, 标准模板库)中的一种自定义的 ...
- python操作Spark常用命令
1. 获取SparkSession spark = SparkSession.builder.config(conf = SparkConf()).getOrCreate() 2. 获取SparkCo ...
- Oracle:DBMS_STATS.GATHER_TABLE_STATS的语法
转自: http://cjjwzs.iteye.com/blog/1143893 作用:DBMS_STATS.GATHER_TABLE_STATS统计表,列,索引的统计信息. DBMS_STATS.G ...
- PIE SDK专题制图下屏幕坐标转地图坐标
1. 功能简介 PIESDK提供了专题制图下鼠标屏幕坐标转地图坐标功能. 2. 功能实现说明 2.1屏幕坐标转地图坐标 此功能用到了IPageLayout.ToMapPoint()方法,它的主要 ...