https://www.assetstore.unity3d.com/jp/#!/home
PUN+(photon unity network)が半額なので購入してしまった。
今から頑張ってオンラインゲームを作らなくては。
Translate
2016年5月24日火曜日
2016年5月13日金曜日
グラフのy軸表示用のキリのいい値を求めたい【javascript】
canvasで自前でグラフを作成するとき、y軸の値を自動で表示するために書いた。
ざっくり分けて表示するだけだが、とりあえず。
例
グラフの最大値が170→y軸の最大値は200
グラフの最大値が110→y軸の最大値は150
グラフの最大値が101→y軸の最大値は150
(最大値がmaxvalue、整数として判明しているとする)
var graph_y_max,digit;
digit = String(maxvalue).length;
if(Math.round(maxvalue * Math.pow(0.1,digit -1))>maxvalue * Math.pow(0.1,digit-1) )
{
graph_y_max = Math.round(maxvalue * Math.pow(0.1,digit -1)) * Math.pow(10,digit -1) ;
}
else {
graph_y_max = (Math.round(maxvalue * Math.pow(0.1,digit-1))+0.5) * Math.pow(10,digit - 1);
}
2番目の桁を四捨五入して、繰り上がるならその値を使う。
繰り下がるなら、繰り下がった値に5を足す。
ざっくり分けて表示するだけだが、とりあえず。
例
グラフの最大値が170→y軸の最大値は200
グラフの最大値が110→y軸の最大値は150
グラフの最大値が101→y軸の最大値は150
(最大値がmaxvalue、整数として判明しているとする)
var graph_y_max,digit;
digit = String(maxvalue).length;
if(Math.round(maxvalue * Math.pow(0.1,digit -1))>maxvalue * Math.pow(0.1,digit-1) )
{
graph_y_max = Math.round(maxvalue * Math.pow(0.1,digit -1)) * Math.pow(10,digit -1) ;
}
else {
graph_y_max = (Math.round(maxvalue * Math.pow(0.1,digit-1))+0.5) * Math.pow(10,digit - 1);
}
2番目の桁を四捨五入して、繰り上がるならその値を使う。
繰り下がるなら、繰り下がった値に5を足す。
2016年5月11日水曜日
Slither.ioのコツ(上級)
前回の記事から色々と経験があったので追加。
囲むだけではなかなか相手を倒せないので、これらを使って積極的に相手を倒したい。
○隘路封じ
大きいプレイヤーと大きいプレイヤーの間を縫うように移動しているプレイヤーは、出口を塞いであげるだけで簡単に倒せる。防ぐには、道が細くなっている部分に、むやみに入らないこと。
○端線を使う。
図の通り。隘路封じと同様。赤いラインを超えると死亡なので、端線側のプレイヤーは脱出不可能になる。
図のように追い詰めなくても、ステージは球形なので、並走して直進するだけで最終的に追い詰める形になる。赤線側に突っ込んで、消滅すると報酬がなくなるのが難点。
○挟み込み
うまく図が取れなかったので、イラストで。
体が小さい時にしか使えないが、タイミングよくやると、2の時点で死亡確定という強力な技。回避する方法は、適度に距離をとるしかない。
1.青は赤を追い越す。
2.青は赤の退路を塞ぐ(この時点で赤の死亡確定)。赤はダッシュすると曲がり切れずに青にぶつかる距離になったので、これ以降はダッシュせずに曲がるしかない。
3.青は引き続き退路を塞ぐ。赤はダッシュせずに右に向かうしかない(上を選んでいても、曲がり切れない)。
4.青は赤の体にぶつからないようにダッシュをやめる。赤は巨体ゆえに曲がり切れず、青にぶつかる。
タイミングがとてもシビアなので、青も事故に合う可能性があるが、回避不可能なハメ技なので、練習してみるといいかも。
○エリアを囲む
長さが3万を超えたあたりから有効。大きなプレイヤーが消滅して、その残骸を小中プレイヤーが漁りに動くときは、残骸を拾いにいくのではなく、その場を囲んでしまおう。3~4プレイヤーを丸のみにする。
○囲まれたときは逆回転
万が一囲まれたときは、相手と逆回転で自分のサークルを維持すること。順回転だと、どうしても相手が攻めやすい瞬間があるが、逆回転だと相手も正面衝突を恐れてなかなか輪を狭められない。
○囲んだときは、たまに輪を広げる
格下相手に囲まれるのを防ぐ。ひたすら輪を狭めるだけだと、周りに小物が並走したときに余裕がなくなるので、適当に輪を広げよう。土星の環のようなイメージで囲むと、自分も動きやすくなるし、格下が囲みづらくなる。
それでは頑張ってください!
2016年5月10日火曜日
数値にカンマをつける色々【javascript】【php】【mysql】
本当はやりたくないんです。
床でジタバタ転げまわっても「やれ」といわれたときに。
//javascript
number.toLocaleString();
//php
number_format($number);
//mysql
select FORMAT(number ,0) from table
床でジタバタ転げまわっても「やれ」といわれたときに。
//javascript
number.toLocaleString();
//php
number_format($number);
//mysql
select FORMAT(number ,0) from table
ラベル:
javascript,
mysql,
PHP
2016年4月30日土曜日
ボス ホームエスプレッソ ラテミックスが妙にうまい
ボス ホームエスプレッソ ラテミックス
http://www.s-boss.com/lattemix/
牛乳をたっぷり入れて作るカフェラテが美味しい。
「白のひととき」より、少しだけ甘さ控えめな感じで、個人的にちょうどいい。
とりあえず箱買いしたけど、近所のスーパーでは置かなくなってきた。
レギュラーに定着して廃盤にならないといいな。
http://www.s-boss.com/lattemix/
牛乳をたっぷり入れて作るカフェラテが美味しい。
「白のひととき」より、少しだけ甘さ控えめな感じで、個人的にちょうどいい。
とりあえず箱買いしたけど、近所のスーパーでは置かなくなってきた。
レギュラーに定着して廃盤にならないといいな。
ラベル:
ボス ホームエスプレッソ ラテミックス
2016年4月23日土曜日
【javascript】【jquery】スライダーの値を特定の箇所で吸着したい
例えば2-1024までの値のスライダーで、選べる値は2のn乗のみとしたい。
つまり、選べる値は2,4,8,16,32,64,128,256,512,1024とする。
<div class="ui-field-contain" id = "sliderdiv">
<label for="slider">値</label>
<input id="slider" type="range" min="2" max="1024" step="1" value=2/>
</div>
<script>
var keys = [2,4,8,16,32,64,128,256,512,1024];
var keys_length =keys.length;
$(function(){
$("#sliderdiv").on("change", "#slider", function() {
var tmpvalue = $("#slider").val();
for(var n=0;n<keys_length;n++)
{
if(tmpvalue<=keys[n])
{
break;
}
}
if((keys[n]+keys[n+1])/2<tmpvalue)
{
$("#slider").val(keys[n+1]);
}
else {
$("#slider").val(keys[n]);
}
if($("#slider").val()!=tmpvalue)//これ書いておかないと無限に処理を繰り返してしまう
{
$("#slider").slider('refresh');
}
})
})
</script>
つまり、選べる値は2,4,8,16,32,64,128,256,512,1024とする。
<div class="ui-field-contain" id = "sliderdiv">
<label for="slider">値</label>
<input id="slider" type="range" min="2" max="1024" step="1" value=2/>
</div>
<script>
var keys = [2,4,8,16,32,64,128,256,512,1024];
var keys_length =keys.length;
$(function(){
$("#sliderdiv").on("change", "#slider", function() {
var tmpvalue = $("#slider").val();
for(var n=0;n<keys_length;n++)
{
if(tmpvalue<=keys[n])
{
break;
}
}
if((keys[n]+keys[n+1])/2<tmpvalue)
{
$("#slider").val(keys[n+1]);
}
else {
$("#slider").val(keys[n]);
}
if($("#slider").val()!=tmpvalue)//これ書いておかないと無限に処理を繰り返してしまう
{
$("#slider").slider('refresh');
}
})
})
</script>
ラベル:
javascript,
jquery,
お仕事メモ,
スライダー
2016年4月21日木曜日
【javascript】【jquery】スライダーの値によって、buttonを無効(disable)にする
よし、やる気ボタンを押すと仕事をやる気を出すぞ。
でも、暑かったり寒かったりしたらやる気ボタンが表示されないぞ。しょうがない。
という仕組み。
sliderって単純に$("#slider").on("change",function(){...})
じゃ処理は起動しないのね
<div class="ui-field-contain" id = "sliderdiv"> <label for="slider">気温</label>
<input id="slider" type="range" min="0" max="100" step="1" value=0 />
</div>
<button id ="yaruki">
やる気ボタン
</button>
<script>
$(function(){
$("#sliderdiv").on("change", "#slider", function() {
//または、$("input#slider").live("change", function() {
var slider_value = $("#slider").val();
if(15<=slider_value&&slider_value<=25)
{
$('#yaruki').prop('disabled', false);//非表示をオフにする。つまり、表示。
}else{
$('#yaruki').prop('disabled', true);
}
})
})
</script>
でも、暑かったり寒かったりしたらやる気ボタンが表示されないぞ。しょうがない。
という仕組み。
sliderって単純に$("#slider").on("change",function(){...})
じゃ処理は起動しないのね
<div class="ui-field-contain" id = "sliderdiv"> <label for="slider">気温</label>
<input id="slider" type="range" min="0" max="100" step="1" value=0 />
</div>
<button id ="yaruki">
やる気ボタン
</button>
<script>
$(function(){
$("#sliderdiv").on("change", "#slider", function() {
//または、$("input#slider").live("change", function() {
var slider_value = $("#slider").val();
if(15<=slider_value&&slider_value<=25)
{
$('#yaruki').prop('disabled', false);//非表示をオフにする。つまり、表示。
}else{
$('#yaruki').prop('disabled', true);
}
})
})
</script>
ラベル:
javascript,
jquery,
お仕事メモ,
スライダー
登録:
投稿 (Atom)