私は実際に私のサイトで、あまりにもずっと前に同様のミニゲームを実装しました。キャンバスなし、SVGなし、jQueryなし
私はボードのための簡単なイメージ(より具体的にはbackground-image
)を使用し、ボールになるように<div>
を配置しました。
<div id="board"><div></div></div>
CSS:次に、このJavaScriptが回転したときにボールを配置するために使用される
#board {
width:256px;
height:256px;
background-image:url('gameboard.png');
position:relative;
transform-origin:50% 50%;
}
#board>div {
position:absolute;
margin-left:-7px;
margin-top:-7px;
border:7px outset #ccc;
width:1px; height:1px;
left:248px;
top:128px;
}
:
function placeBall(angle) {
var board = document.getElementById("board"), ball = board.children[0];
ball.style.left = (128+Math.cos(angle)*120)+"px";
ball.style.top = (128-Math.sin(angle)*120)+"px";
board.style.transform = "rotate(-"+angle+"rad)";
}
これは、古いブラウザでは、ホイールの周りに回転するボールになります。より新しいブラウザーでは、ボード全体が回転している間、ボールは所定の位置に留まります(ボーダーシェーディングが回転します)。変換で何か違うことがあれば、もちろん2つの組み合わせを使用することができます(例えば、"rotate(-"+(angle/2)+"rad)"
)
ありWinwheel.jsを使用する方法を説明する私のサイト上でのチュートリアルの完全なセットがありますが、イメージ・ホイールに関する特定の一つがここで見つけることができますRaphaelを使ったルーレットホイールhttp://www.guesttime.com/members/ledlogic/roulette/index.html – ledlogic