Merge branch 'browsersupport-translate' of LoveEevee/taiko-web into master
This commit is contained in:
commit
faa6f1991e
@ -64,28 +64,27 @@ body{
|
|||||||
left: 0;
|
left: 0;
|
||||||
max-height: 100%;
|
max-height: 100%;
|
||||||
overflow: hidden auto;
|
overflow: hidden auto;
|
||||||
padding: 10px;
|
padding: 0.5em;
|
||||||
background: #aef;
|
background: #aef;
|
||||||
font-family: sans-serif;
|
font-family: sans-serif;
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
cursor: default;
|
cursor: default;
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
}
|
}
|
||||||
#unsupportedBrowser::before{
|
#unsupportedWarn{
|
||||||
content: "!";
|
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 30px;
|
width: 1.5em;
|
||||||
height: 30px;
|
height: 1.5em;
|
||||||
margin-right: 10px;
|
margin-right: 0.5em;
|
||||||
background: #39a;
|
background: #39a;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 30px;
|
line-height: 1.5em;
|
||||||
}
|
}
|
||||||
#unsupportedBrowser.hidden{
|
#unsupportedBrowser.hidden{
|
||||||
width: 30px;
|
width: 1.5em;
|
||||||
}
|
}
|
||||||
#unsupportedBrowser.hidden *{
|
#unsupportedBrowser.hidden *:not(#unsupportedWarn){
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
#unsupportedBrowser a{
|
#unsupportedBrowser a{
|
||||||
@ -97,13 +96,13 @@ body{
|
|||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
#unsupportedBrowser ul{
|
#unsupportedBrowser ul{
|
||||||
margin: 5px;
|
margin: 0.25em;
|
||||||
}
|
}
|
||||||
#unsupportedDetails{
|
#unsupportedDetails{
|
||||||
display: none;
|
display: none;
|
||||||
margin: 10px 50px 0 50px;
|
margin: 0.5em 2.5em 0 2.5em;
|
||||||
border: 3px solid #39a;
|
border: 0.15em solid #39a;
|
||||||
padding: 5px;
|
padding: 0.25em;
|
||||||
cursor: auto;
|
cursor: auto;
|
||||||
user-select: text;
|
user-select: text;
|
||||||
}
|
}
|
||||||
@ -111,10 +110,10 @@ body{
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
right: 0;
|
right: 0;
|
||||||
top: 0;
|
top: 0;
|
||||||
width: 50px;
|
width: 2.5em;
|
||||||
height: 50px;
|
height: 2.5em;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 45px;
|
line-height: 2.25em;
|
||||||
color: #777;
|
color: #777;
|
||||||
text-shadow: 1px 1px #fff;
|
text-shadow: 0.05em 0.05em #fff;
|
||||||
}
|
}
|
||||||
|
@ -110,9 +110,13 @@
|
|||||||
top: calc(50% + -1vw);
|
top: calc(50% + -1vw);
|
||||||
bottom: auto;
|
bottom: auto;
|
||||||
}
|
}
|
||||||
@keyframes donbg-scroll{
|
@keyframes donbg-scroll1{
|
||||||
from{background-position-x: 0}
|
from{background-position-x: 0}
|
||||||
to{background-position-x: calc(var(--h) / var(--sh1) * var(--sw) * -1)}
|
to{background-position-x: calc(var(--h) / var(--sh1) * var(--sw1) * -1)}
|
||||||
|
}
|
||||||
|
@keyframes donbg-scroll2{
|
||||||
|
from{background-position-x: 0}
|
||||||
|
to{background-position-x: calc(var(--h) / var(--sh1) * var(--sw2) * -1)}
|
||||||
}
|
}
|
||||||
@keyframes donbg-raise{
|
@keyframes donbg-raise{
|
||||||
from{background-position-y: 0}
|
from{background-position-y: 0}
|
||||||
@ -134,7 +138,7 @@
|
|||||||
30%{background-position-y: 0}
|
30%{background-position-y: 0}
|
||||||
}
|
}
|
||||||
.donlayer1{
|
.donlayer1{
|
||||||
animation: 5s linear donbg-scroll infinite;
|
animation: 5s linear donbg-scroll1 infinite;
|
||||||
background-size: auto 100%;
|
background-size: auto 100%;
|
||||||
}
|
}
|
||||||
.donlayer2{
|
.donlayer2{
|
||||||
@ -154,21 +158,27 @@
|
|||||||
.donbg-4 .donlayer2,
|
.donbg-4 .donlayer2,
|
||||||
.donbg-6 .donlayer2,
|
.donbg-6 .donlayer2,
|
||||||
.donbg-raise .donlayer2{
|
.donbg-raise .donlayer2{
|
||||||
animation: 5s linear donbg-scroll infinite, 1s linear donbg-raise infinite alternate;
|
animation: 5s linear donbg-scroll2 infinite, 1s linear donbg-raise infinite alternate;
|
||||||
}
|
}
|
||||||
.donbg-3 .donlayer2,
|
.donbg-3 .donlayer2,
|
||||||
.donbg-anim3 .donlayer2{
|
.donbg-anim3 .donlayer2{
|
||||||
animation: 3.4s linear donbg-scroll infinite, 1.8s linear donbg-anim3 infinite;
|
animation: 3.4s linear donbg-scroll2 infinite, 1.8s linear donbg-anim3 infinite;
|
||||||
}
|
}
|
||||||
.donbg-5 .donlayer2,
|
.donbg-5 .donlayer2,
|
||||||
.donbg-anim5 .donlayer2{
|
.donbg-anim5 .donlayer2{
|
||||||
animation: 2.7s linear donbg-scroll infinite, 2.2s linear donbg-anim5 infinite;
|
animation: 2.7s linear donbg-scroll2 infinite, 2.2s linear donbg-anim5 infinite;
|
||||||
|
}
|
||||||
|
.donbg-equalscroll .donlayer1{
|
||||||
|
animation: 5.3s linear donbg-scroll1 infinite;
|
||||||
|
}
|
||||||
|
.donbg-equalscroll .donlayer2{
|
||||||
|
animation: 5.3s linear donbg-scroll2 infinite;
|
||||||
}
|
}
|
||||||
.donbg-fastscroll .donlayer1{
|
.donbg-fastscroll .donlayer1{
|
||||||
animation: 2s linear donbg-scroll infinite;
|
animation: 2s linear donbg-scroll1 infinite;
|
||||||
}
|
}
|
||||||
.donbg-fastscroll .donlayer2{
|
.donbg-fastscroll .donlayer2{
|
||||||
animation: 1s linear donbg-scroll infinite;
|
animation: 1s linear donbg-scroll2 infinite;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tetsuohana{
|
#tetsuohana{
|
||||||
|
@ -26,7 +26,6 @@ var assets = {
|
|||||||
"about.js",
|
"about.js",
|
||||||
"debug.js",
|
"debug.js",
|
||||||
"session.js",
|
"session.js",
|
||||||
"strings.js",
|
|
||||||
"importsongs.js"
|
"importsongs.js"
|
||||||
],
|
],
|
||||||
"css": [
|
"css": [
|
||||||
|
@ -49,72 +49,138 @@ function browserSupport(){
|
|||||||
return el.style.length !== 0
|
return el.style.length !== 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var failedTests = []
|
failedTests = []
|
||||||
for(var name in tests){
|
for(var name in tests){
|
||||||
var result = false
|
var result = false
|
||||||
try{
|
try{
|
||||||
result = tests[name]()
|
result = tests[name]()
|
||||||
}catch(e){}
|
}catch(e){}
|
||||||
if(result === false){
|
if(result === false){
|
||||||
failedTests.push("<li>" + name + "</li>")
|
failedTests.push(name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(failedTests.length !== 0){
|
if(failedTests.length !== 0){
|
||||||
var div = document.createElement("div")
|
showUnsupported()
|
||||||
div.id = "unsupportedBrowser"
|
|
||||||
|
|
||||||
div.innerHTML =
|
|
||||||
'<div id="unsupportedHide">x</div>\
|
|
||||||
<span>You are running an unsupported browser (\
|
|
||||||
<a id="unsupportedLink">Details...</a>)</span>\
|
|
||||||
<div id="unsupportedDetails">\
|
|
||||||
The following tests have failed:\
|
|
||||||
<ul>'
|
|
||||||
+ failedTests.join("")
|
|
||||||
+ '</ul>\
|
|
||||||
Please use a supported browser such as \
|
|
||||||
<a href="https://www.google.com/chrome/" id="unsupportedChrome">Google Chrome</a>\
|
|
||||||
</div>'
|
|
||||||
|
|
||||||
document.body.appendChild(div)
|
|
||||||
var link = document.getElementById("unsupportedLink")
|
|
||||||
var details = document.getElementById("unsupportedDetails")
|
|
||||||
var hide = document.getElementById("unsupportedHide")
|
|
||||||
var chrome = document.getElementById("unsupportedChrome")
|
|
||||||
var divClick = function(event){
|
|
||||||
if(event.type === "touchstart"){
|
|
||||||
event.preventDefault()
|
|
||||||
getSelection().removeAllRanges()
|
|
||||||
}
|
|
||||||
div.classList.remove("hidden")
|
|
||||||
}
|
|
||||||
div.addEventListener("click", divClick)
|
|
||||||
div.addEventListener("touchstart", divClick)
|
|
||||||
var toggleDetails = function(event){
|
|
||||||
if(event.type === "touchstart"){
|
|
||||||
event.preventDefault()
|
|
||||||
}
|
|
||||||
if(details.style.display === "block"){
|
|
||||||
details.style.display = ""
|
|
||||||
}else{
|
|
||||||
details.style.display = "block"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
link.addEventListener("click", toggleDetails)
|
|
||||||
link.addEventListener("touchstart", toggleDetails)
|
|
||||||
var hideClick = function(event){
|
|
||||||
if(event.type === "touchstart"){
|
|
||||||
event.preventDefault()
|
|
||||||
}
|
|
||||||
event.stopPropagation()
|
|
||||||
div.classList.add("hidden")
|
|
||||||
}
|
|
||||||
hide.addEventListener("click", hideClick)
|
|
||||||
hide.addEventListener("touchstart", hideClick)
|
|
||||||
chrome.addEventListener("touchend", function(event){
|
|
||||||
event.preventDefault()
|
|
||||||
chrome.click()
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
function showUnsupported(strings){
|
||||||
|
if(!strings){
|
||||||
|
var lang
|
||||||
|
try{
|
||||||
|
if("localStorage" in window && window.localStorage.lang && window.localStorage.lang in allStrings){
|
||||||
|
lang = window.localStorage.lang
|
||||||
|
}
|
||||||
|
if(!lang && "languages" in navigator){
|
||||||
|
var userLang = navigator.languages.slice()
|
||||||
|
userLang.unshift(navigator.language)
|
||||||
|
for(var i in userLang){
|
||||||
|
for(var j in allStrings){
|
||||||
|
if(allStrings[j].regex.test(userLang[i])){
|
||||||
|
lang = j
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}catch(e){}
|
||||||
|
if(!lang){
|
||||||
|
lang = "en"
|
||||||
|
}
|
||||||
|
strings = allStrings[lang]
|
||||||
|
}
|
||||||
|
|
||||||
|
var div = document.getElementById("unsupportedBrowser")
|
||||||
|
if(div){
|
||||||
|
div.parentNode.removeChild(div)
|
||||||
|
}
|
||||||
|
div = document.createElement("div")
|
||||||
|
div.id = "unsupportedBrowser"
|
||||||
|
|
||||||
|
var warn = document.createElement("div")
|
||||||
|
warn.id = "unsupportedWarn"
|
||||||
|
warn.innerText = "!"
|
||||||
|
div.appendChild(warn)
|
||||||
|
var hide = document.createElement("div")
|
||||||
|
hide.id = "unsupportedHide"
|
||||||
|
hide.innerText = "x"
|
||||||
|
div.appendChild(hide)
|
||||||
|
|
||||||
|
var span = document.createElement("span")
|
||||||
|
var browserWarning = strings.browserSupport.browserWarning.split("%s")
|
||||||
|
for(var i = 0; i < browserWarning.length; i++){
|
||||||
|
if(i !== 0){
|
||||||
|
var link = document.createElement("a")
|
||||||
|
link.innerText = strings.browserSupport.details
|
||||||
|
span.appendChild(link)
|
||||||
|
}
|
||||||
|
span.appendChild(document.createTextNode(browserWarning[i]))
|
||||||
|
}
|
||||||
|
div.appendChild(span)
|
||||||
|
|
||||||
|
var details = document.createElement("div")
|
||||||
|
details.id = "unsupportedDetails"
|
||||||
|
details.appendChild(document.createTextNode(strings.browserSupport.failedTests))
|
||||||
|
|
||||||
|
var ul = document.createElement("ul")
|
||||||
|
for(var i = 0; i < failedTests.length; i++){
|
||||||
|
var li = document.createElement("li")
|
||||||
|
li.innerText = failedTests[i]
|
||||||
|
ul.appendChild(li)
|
||||||
|
}
|
||||||
|
details.appendChild(ul)
|
||||||
|
|
||||||
|
var supportedBrowser = strings.browserSupport.supportedBrowser.split("%s")
|
||||||
|
for(var i = 0; i < supportedBrowser.length; i++){
|
||||||
|
if(i !== 0){
|
||||||
|
var chrome = document.createElement("a")
|
||||||
|
chrome.href = "https://www.google.com/chrome/"
|
||||||
|
chrome.innerText = "Google Chrome"
|
||||||
|
details.appendChild(chrome)
|
||||||
|
}
|
||||||
|
details.appendChild(document.createTextNode(supportedBrowser[i]))
|
||||||
|
}
|
||||||
|
|
||||||
|
div.appendChild(details)
|
||||||
|
|
||||||
|
document.body.appendChild(div)
|
||||||
|
var divClick = function(event){
|
||||||
|
if(event.type === "touchstart"){
|
||||||
|
event.preventDefault()
|
||||||
|
getSelection().removeAllRanges()
|
||||||
|
}
|
||||||
|
div.classList.remove("hidden")
|
||||||
|
}
|
||||||
|
div.addEventListener("click", divClick)
|
||||||
|
div.addEventListener("touchstart", divClick)
|
||||||
|
var toggleDetails = function(event){
|
||||||
|
if(event.type === "touchstart"){
|
||||||
|
event.preventDefault()
|
||||||
|
}
|
||||||
|
if(details.style.display === "block"){
|
||||||
|
details.style.display = ""
|
||||||
|
}else{
|
||||||
|
details.style.display = "block"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
link.addEventListener("click", toggleDetails)
|
||||||
|
link.addEventListener("touchstart", toggleDetails)
|
||||||
|
var hideClick = function(event){
|
||||||
|
if(event.type === "touchstart"){
|
||||||
|
event.preventDefault()
|
||||||
|
}
|
||||||
|
event.stopPropagation()
|
||||||
|
div.classList.add("hidden")
|
||||||
|
}
|
||||||
|
hide.addEventListener("click", hideClick)
|
||||||
|
hide.addEventListener("touchstart", hideClick)
|
||||||
|
chrome.addEventListener("touchend", function(event){
|
||||||
|
event.preventDefault()
|
||||||
|
chrome.click()
|
||||||
|
})
|
||||||
|
var touchText = function(){
|
||||||
|
div.style.fontSize = "4em"
|
||||||
|
removeEventListener("touchstart", touchText)
|
||||||
|
}
|
||||||
|
addEventListener("touchstart", touchText)
|
||||||
|
}
|
||||||
|
var failedTests
|
||||||
browserSupport()
|
browserSupport()
|
||||||
|
@ -22,6 +22,7 @@ class Circle{
|
|||||||
this.gogoTime = config.gogoTime
|
this.gogoTime = config.gogoTime
|
||||||
this.gogoChecked = false
|
this.gogoChecked = false
|
||||||
this.beatMS = config.beatMS
|
this.beatMS = config.beatMS
|
||||||
|
this.fixedPos = config.fixedPos
|
||||||
}
|
}
|
||||||
getMS(){
|
getMS(){
|
||||||
return this.ms
|
return this.ms
|
||||||
|
@ -284,7 +284,8 @@ class Game{
|
|||||||
type: sound,
|
type: sound,
|
||||||
txt: "",
|
txt: "",
|
||||||
speed: circle.speed,
|
speed: circle.speed,
|
||||||
gogoTime: circle.gogoTime
|
gogoTime: circle.gogoTime,
|
||||||
|
fixedPos: document.hasFocus()
|
||||||
})
|
})
|
||||||
circleAnim.played(score, dai)
|
circleAnim.played(score, dai)
|
||||||
circleAnim.animate(ms)
|
circleAnim.animate(ms)
|
||||||
|
@ -396,6 +396,7 @@ class Scoresheet{
|
|||||||
fontFamily: this.font,
|
fontFamily: this.font,
|
||||||
x: 1257,
|
x: 1257,
|
||||||
y: 20,
|
y: 20,
|
||||||
|
width: 600,
|
||||||
align: "right",
|
align: "right",
|
||||||
forceShadow: true
|
forceShadow: true
|
||||||
}, [
|
}, [
|
||||||
|
@ -88,6 +88,12 @@
|
|||||||
linkTutorial: "Share this link with your friend to start playing together! Do not leave this screen while they join.",
|
linkTutorial: "Share this link with your friend to start playing together! Do not leave this screen while they join.",
|
||||||
cancel: "Cancel"
|
cancel: "Cancel"
|
||||||
}
|
}
|
||||||
|
this.browserSupport = {
|
||||||
|
browserWarning: "サポートされていないブラウザを実行しています (%s)",
|
||||||
|
details: "詳しく",
|
||||||
|
failedTests: "このテストは失敗しました:",
|
||||||
|
supportedBrowser: "%sなどのサポートされているブラウザを使用してください"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
function StringsEn(){
|
function StringsEn(){
|
||||||
this.id = "en"
|
this.id = "en"
|
||||||
@ -179,6 +185,12 @@ function StringsEn(){
|
|||||||
linkTutorial: "Share this link with your friend to start playing together! Do not leave this screen while they join.",
|
linkTutorial: "Share this link with your friend to start playing together! Do not leave this screen while they join.",
|
||||||
cancel: "Cancel"
|
cancel: "Cancel"
|
||||||
}
|
}
|
||||||
|
this.browserSupport = {
|
||||||
|
browserWarning: "You are running an unsupported browser (%s)",
|
||||||
|
details: "Details...",
|
||||||
|
failedTests: "The following tests have failed:",
|
||||||
|
supportedBrowser: "Please use a supported browser such as %s"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
function StringsCn(){
|
function StringsCn(){
|
||||||
this.id = "cn"
|
this.id = "cn"
|
||||||
@ -270,6 +282,12 @@ function StringsCn(){
|
|||||||
linkTutorial: "Share this link with your friend to start playing together! Do not leave this screen while they join.",
|
linkTutorial: "Share this link with your friend to start playing together! Do not leave this screen while they join.",
|
||||||
cancel: "Cancel"
|
cancel: "Cancel"
|
||||||
}
|
}
|
||||||
|
this.browserSupport = {
|
||||||
|
browserWarning: "You are running an unsupported browser (%s)",
|
||||||
|
details: "Details...",
|
||||||
|
failedTests: "The following tests have failed:",
|
||||||
|
supportedBrowser: "Please use a supported browser such as %s"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
function StringsTw(){
|
function StringsTw(){
|
||||||
this.id = "tw"
|
this.id = "tw"
|
||||||
@ -361,6 +379,12 @@ function StringsTw(){
|
|||||||
linkTutorial: "Share this link with your friend to start playing together! Do not leave this screen while they join.",
|
linkTutorial: "Share this link with your friend to start playing together! Do not leave this screen while they join.",
|
||||||
cancel: "Cancel"
|
cancel: "Cancel"
|
||||||
}
|
}
|
||||||
|
this.browserSupport = {
|
||||||
|
browserWarning: "You are running an unsupported browser (%s)",
|
||||||
|
details: "Details...",
|
||||||
|
failedTests: "The following tests have failed:",
|
||||||
|
supportedBrowser: "Please use a supported browser such as %s"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
function StringsKo(){
|
function StringsKo(){
|
||||||
this.id = "ko"
|
this.id = "ko"
|
||||||
@ -452,6 +476,12 @@ function StringsKo(){
|
|||||||
linkTutorial: "Share this link with your friend to start playing together! Do not leave this screen while they join.",
|
linkTutorial: "Share this link with your friend to start playing together! Do not leave this screen while they join.",
|
||||||
cancel: "Cancel"
|
cancel: "Cancel"
|
||||||
}
|
}
|
||||||
|
this.browserSupport = {
|
||||||
|
browserWarning: "You are running an unsupported browser (%s)",
|
||||||
|
details: "Details...",
|
||||||
|
failedTests: "The following tests have failed:",
|
||||||
|
supportedBrowser: "Please use a supported browser such as %s"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
var allStrings = {
|
var allStrings = {
|
||||||
"ja": new StringsJa(),
|
"ja": new StringsJa(),
|
||||||
|
@ -98,6 +98,9 @@ class Titlescreen{
|
|||||||
this.langId.setAttribute("alt", strings.id.toUpperCase())
|
this.langId.setAttribute("alt", strings.id.toUpperCase())
|
||||||
loader.screen.style.fontFamily = strings.font
|
loader.screen.style.fontFamily = strings.font
|
||||||
loader.screen.style.fontWeight = strings.font === "Microsoft YaHei, sans-serif" ? "bold" : ""
|
loader.screen.style.fontWeight = strings.font === "Microsoft YaHei, sans-serif" ? "bold" : ""
|
||||||
|
if(failedTests.length !== 0){
|
||||||
|
showUnsupported(strings)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
addLangs(){
|
addLangs(){
|
||||||
for(var i in allStrings){
|
for(var i in allStrings){
|
||||||
|
@ -1062,9 +1062,8 @@
|
|||||||
}
|
}
|
||||||
this.setLayers(donLayers, filename + songSkinName + (notStatic ? "_" : ""), notStatic)
|
this.setLayers(donLayers, filename + songSkinName + (notStatic ? "_" : ""), notStatic)
|
||||||
}
|
}
|
||||||
var w1 = assets.image[asset1].width
|
this.donBg.style.setProperty("--sw1", assets.image[asset1].width)
|
||||||
var w2 = assets.image[asset2].width
|
this.donBg.style.setProperty("--sw2", assets.image[asset2].width)
|
||||||
this.donBg.style.setProperty("--sw", w1 > w2 ? w1 : w2)
|
|
||||||
this.donBg.style.setProperty("--sh1", assets.image[asset1].height)
|
this.donBg.style.setProperty("--sh1", assets.image[asset1].height)
|
||||||
this.donBg.style.setProperty("--sh2", assets.image[asset2].height)
|
this.donBg.style.setProperty("--sh2", assets.image[asset2].height)
|
||||||
}
|
}
|
||||||
@ -1163,6 +1162,11 @@
|
|||||||
var animT = circle.getAnimT()
|
var animT = circle.getAnimT()
|
||||||
if(ms < animT + 490){
|
if(ms < animT + 490){
|
||||||
|
|
||||||
|
if(circle.fixedPos){
|
||||||
|
circle.fixedPos = false
|
||||||
|
circle.animT = ms
|
||||||
|
animT = ms
|
||||||
|
}
|
||||||
var animPoint = (ms - animT) / 490
|
var animPoint = (ms - animT) / 490
|
||||||
var bezierPoint = this.calcBezierPoint(this.draw.easeOut(animPoint), this.animateBezier)
|
var bezierPoint = this.calcBezierPoint(this.draw.easeOut(animPoint), this.animateBezier)
|
||||||
this.drawCircle(circle, {x: bezierPoint.x, y: bezierPoint.y})
|
this.drawCircle(circle, {x: bezierPoint.x, y: bezierPoint.y})
|
||||||
|
Loading…
Reference in New Issue
Block a user