Skip to content

Instantly share code, notes, and snippets.

View ikeryou's full-sized avatar

ikeryou ikeryou

View GitHub Profile
@ikeryou
ikeryou / distance.js
Last active September 1, 2016 06:27
2点間の距離
var dx:Number = x2 - x1;
var dy:Number = y2 - y1;
var dist:Number = Math.sqrt(dx * dx + dy * dy);
@ikeryou
ikeryou / angle.js
Created September 1, 2016 06:29
2点間の角度
var dx:Number = x2 - x1;
var dy:Number = y2 - y1;
var angle:Number = Math.atan2(dy, dx); // ラジアン
@ikeryou
ikeryou / trigonometric.js
Created September 1, 2016 06:34
三角関数
// x = 底辺
// y = 対辺
// r = 斜辺
// radian = 底辺、斜辺間の角度(ラジアン)
var x = r * Math.cos(radian);
var y = r * Math.sin(radian);
var r = x / Math.cos(radian);
var r = y / Math.sin(radian);
@ikeryou
ikeryou / easeOut.js
Last active September 1, 2016 06:38
イージングアウト
// 目標値
var t = 100;
// 現在値
var val = 0;
function update() {
val += (t - val) * 0.5;
if(Math.abs(t - val) < 0.5) {
val = t;
@ikeryou
ikeryou / spring.js
Created September 1, 2016 06:40
バネ
var spring = 0.5;
var friction = 0.5;
var v = 0;
var t = 100; // 目標値
var val = 0; // 現在値
function update() {
v += (t - val) * spring;
val += (v *= friction);
}
@ikeryou
ikeryou / pixel.js
Last active July 23, 2018 06:39
3Dでのピクセル等倍
// カメラ座標
var cameraPos = new Vector3();
// ステージ高さ
var stageHeight = 900;
// 度単位でのカメラの視野
var fieldOfView = 45;
// ピクセル等倍になるカメラZ値
@ikeryou
ikeryou / meshDispose.js
Created September 6, 2016 05:30
three.jsでのMeshの破棄
scene.remove(mesh);
mesh.material.dispose();
mesh.geometry.dispose();
// テクスチャもう使わない場合は手動で破棄
tex.dispose(); // or mesh.material.map.dispose();
@ikeryou
ikeryou / initThree2.js
Created September 8, 2016 00:23
three.js初期化 主に2D系
// カメラ
var camera = new THREE.OrthographicCamera();
// レンダラー
// id=mainのcanvasタグ指定
var renderer = new THREE.WebGLRenderer({
antialias: false,
canvas: document.getElementById('main')
});
renderer.setPixelRatio(window.devicePixelRatio || 1);
@ikeryou
ikeryou / resizeBufferGeometry.js
Created September 8, 2016 00:28
three.js BufferGeometryのサイズ設定
geo = new THREE.BufferGeometry();
geo.setIndex(new THREE.BufferAttribute(new Uint16Array(3 * 2), 1));
geo.addAttribute('position', new THREE.BufferAttribute(new Float32Array(3 * 4), 3));
geo.addAttribute('uv', new THREE.BufferAttribute(new Float32Array(2 * 4), 2));
// サイズ
w = 1000;
h = 1000;
// 頂点インデックス
@ikeryou
ikeryou / collision.coffee
Last active September 8, 2016 06:45
衝突判定
class Ball
constructor: ->
@radius = 0
@x = 0
@y = 0
@vx = 0
@vy = 0
@mass = 1