欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

html5幸運(yùn)轉(zhuǎn)盤代碼

錢斌斌2年前7瀏覽0評論

HTML5幸運(yùn)轉(zhuǎn)盤代碼讓你創(chuàng)建自己的在線游戲或網(wǎng)站中的互動元素更加方便和有趣。幸運(yùn)轉(zhuǎn)盤是一種流行的互動游戲,現(xiàn)在的HTML5技術(shù)已經(jīng)可以輕松創(chuàng)建這樣的游戲了。下面是一個簡單的HTML5幸運(yùn)轉(zhuǎn)盤代碼實(shí)例:

<canvas id="myCanvas" width="500" height="500"></canvas>
<script>
// 獲取canvas元素
var canvas = document.getElementById("myCanvas");
// 獲取繪圖上下文
var context = canvas.getContext("2d");
// 將canvas坐標(biāo)系設(shè)置在中心點(diǎn)處
context.translate(canvas.width / 2, canvas.height / 2);
// 定義轉(zhuǎn)盤的物品
var items = [
"一等獎",
"二等獎",
"三等獎",
"謝謝參與"
];
// 計(jì)算每個物品對應(yīng)的角度
var angle = (2 * Math.PI) / items.length;
// 繪制每個物品
for (var i = 0; i< items.length; i++) {
context.beginPath();
//填充顏色隨機(jī)
context.fillStyle = "#" + ((Math.random() * 0xffffff)<< 0).toString(16);
context.arc(0, 0, canvas.width / 2 - 50, i * angle, (i + 1) * angle);
context.lineTo(0, 0);
context.fill();
context.save();
context.translate(canvas.width / 2 - 50, 0);
context.rotate((i + 0.5) * angle);
context.textAlign = "right";
context.fillStyle = "#000";
context.font = "20px Arial";
context.fillText(items[i], -10, 0);
context.restore();
}
// 開啟抽獎
var btn = document.getElementById("btn");
btn.onclick = function() {
// 隨機(jī)角度
var rad = Math.random() * 2 * Math.PI;
// 計(jì)算旋轉(zhuǎn)圈數(shù)
var round = Math.floor(Math.random() * 6 + 4);
var totalAngle = round * 2 * Math.PI + rad;
// 慢慢減速的效果
var deceleration = 0.95;
var speed = 0.1;
var timer = setInterval(function() {
// 每次減少速度
speed *= deceleration;
// 計(jì)算當(dāng)前旋轉(zhuǎn)角度
var currentAngle = totalAngle / speed;
// 判斷是否到達(dá)目標(biāo)角度
if (currentAngle<= angle) {
clearInterval(timer);
alert(items[Math.floor((items.length - 1) - currentAngle / angle)]);
} else {
context.clearRect(-canvas.width / 2, -canvas.height / 2, canvas.width, canvas.height);
context.rotate(angle);
drawWheel();
}
}, 20);
}
// 繪制轉(zhuǎn)盤
function drawWheel() {
for (var i = 0; i< items.length; i++) {
context.save();
context.rotate(i * angle);
context.beginPath();
context.moveTo(0, 0);
context.arc(0, 0, canvas.width / 2 - 20, 0, angle);
context.lineWidth = 10;
context.strokeStyle = "#fff";
context.stroke();
context.restore();
}
}
drawWheel();
</script>

這個HTML5幸運(yùn)轉(zhuǎn)盤代碼包含了繪制轉(zhuǎn)盤、設(shè)置每個物品對應(yīng)的角度、隨機(jī)抽獎等功能。在代碼中,我們使用canvas元素來繪制轉(zhuǎn)盤,并設(shè)置物品的填充顏色、旋轉(zhuǎn)的角度、文字等。在抽獎時,我們計(jì)算旋轉(zhuǎn)的圈數(shù)和到達(dá)目標(biāo)角度時的物品,給用戶一種舒適的旋轉(zhuǎn)體驗(yàn)。