-
Notifications
You must be signed in to change notification settings - Fork 1
/
1
89 lines (78 loc) · 2.59 KB
/
1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
window.app.controller('RouletteCtrl', ['$scope', '$timeout', function($scope, $timeout){
$scope.stop_roulette = true;
$("#aa").rotate({
angle: 0,
animeteTo: 3600});
$scope.click_roulette = function(){
$scope.stop_roulette = false;
//回転速度
var speed = 3;
//ルーレットの分割数
var divied =6;
//◯秒後に停止する時間
var timeout = 3600;
//停止位置の設定
var stopAngle;
var test;
var random = Math.round(Math.random() * 360 +0.5);
if(random % 2 == 1){
stopAngle = 60;
}else{
stopAngle = 120;
$scope.stopColor = "赤";
}
// var stopAngle = Math.round(Math.random() * 360 + 0.5);
//ルーレットの角度の変数
var angle = stopAngle;
console.log(angle);
//ルーレットの分割数から1エリア分の角度を求める。
var section = 360/divied;
//停止位置がどのエリアにあるかを調べて、該当する番号をstopNumberに格納する
for(i=1; i<=divied; i++){
if(section*(i-1)+1 <= stopAngle && stopAngle <= section*i){
stopNumber = i
}
};
//5mmsecでspeed分の数値分回転する
var rotation = setInterval(function(){
$("#moto").rotate(angle);
angle += speed;
},5);
$timeout(
function(){
$scope.stop_roulette = true;
//クルクル処理をしているsetIntervalをclear
clearInterval(rotation);
//setIntervalで増えた余分な数値を減らし、逆回転を防ぐためにマイナス値にする
//angle = angle%360-360;
test= angle%360;
if(0<=test && test<180){
angle=180;
$scope.stopColor = "白";
}else{
angle=360;
$scope.stopColor = "赤";
}
//停止位置までのアニメーション。完了するとresult()が実行される
$("#mato").rotate({
angle: angle,
animateTo: stopAngle,
callback: console.log(stopNumber, stopAngle, angle, $scope.stopColor, test)
});
}, timeout);
}
$scope.catwalk = (function(win, doc) {
"use strict";
var img = doc.getElementById("img"),
classList = [
"",
"open"
],
length = classList.length,
index = 0;
setInterval(function() {
img.className = classList[index];
index = ++index % length;
}, 500);
})(this, document);
}]);