24. JavaScriptのパフォーマンス
お約束のフィボナッチベンチCのコード)
#include <time.h>
#include <stdio.h>
int fib(int n){ return (n < 2) ? n : fib(n-2) + fib(n-1); }
int main(){
int i=0;
double r = 100000;
for (i=0;i<3;i++){
clock_t start,end;
start = clock();
fib(39);
end = clock();
double t = (double)(end-start)/CLOCKS_PER_SEC;
if (t <= r) r = t;
}
printf(quot;%.2fnquot;, r);
}
25. JavaScriptのパフォーマンス
お約束のフィボナッチベンチ(Javaのコード)
public class Fib {
static int fib(int n){ return (n < 2) ? n:fib(n-2) + fib(n-1); }
public static void main(String[] args) {
long r = Long.MAX_VALUE;
for(int i=0;i<3;i++){
long s = System.currentTimeMillis();
fib(39);
long t = System.currentTimeMillis() - s;
if(t <= r) r = t;
}
System.out.println(r / 1000.0);
}
}
40. カーソルで操作する
var x = y = 0;
var img = new Image();
img.src = quot;sprite.pngquot;;
document.addEventListener(quot;keydownquot;, function(e){
if (e.keyCode == 39) x+=10;
else if(e.keyCode == 37) x-=10;
}, false);
setInterval(function(){
canvas.clearRect(0, 0, 380, 450);
canvas.drawImage(img, x, y);
}, 60/1000);
41. 弾幕風の描画
弾幕に重要な三角関数もちゃんと使える
●
var img = new Image(); img.src = quot;ball.pngquot;;
var arc = 0; r = 1;
var x = 190;y = 225;
setInterval(function(){
canvas.drawImage(img,
x + r*Math.sin(arc), y + r*Math.cos(arc));
arc += 1;
r += 5;
}, 60/1000);
42. ちょっとオブジェクト指向っぽく
オブジェクト単位で責任を分ける
System
●
Sprite
●
Player
–
Enamy
–
Shot
–