-
Notifications
You must be signed in to change notification settings - Fork 0
/
vox.js
49 lines (43 loc) · 1.32 KB
/
vox.js
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
var canvas = document.querySelector('#canvas');
var ctx = canvas.getContext('2d');
function sprite(spr) {
img = new Image();
img.src = 'sprites/' + spr + '.png';
document.body.appendChild(img);
img.style.display = 'none';
img.classList.add('sprite');
}
function cls(ctx,x) {
ctx.clearRect(0, 0, canvas.width, canvas.height);
canvas.style.background = x;
}
function rotation(x1,y1,x,y,angle) {
a = angle
var radians = (Math.PI / 180) * a;
cos = Math.cos(radians);
sin = Math.sin(radians);
nx = (cos * (x - x1)) + (sin * (y - y1)) + x1;
ny = (cos * (y - y1)) - (sin * (x - x1)) + y1;
return [nx, ny];
}
function sspr(ctx,x,y,w,h,x1,y1,w1,h1) {
img = document.querySelector('.sprite');
ctx.imageSmoothingEnabled = false;
ctx.drawImage(img,x1,y1,w1,h1,x,y,w,h);
}
function ssprf(ctx,s) {
img = document.querySelector('.sprite');
ctx.imageSmoothingEnabled = false;
ctx.drawImage(img,0,0,img.width*(s+1),img.height*(s+1),0,0,img.width*(s+1),img.height*(s+1));
}
function ssprr(ctx,x,y,w,h,x1,y1,w1,h1,r,angle) {
ctx.save();
img = document.querySelector('.sprite');
ctx.imageSmoothingEnabled = false;
ctx.translate(x+w/2,y+h/2);
ctx.scale(1,Math.sin(angle*(Math.PI/180)))
ctx.rotate(r * (Math.PI/180));
ctx.translate(-x-w/2,-y-h/2);
ctx.drawImage(img,x1,y1,w1,h1,x,y,w,h);
ctx.restore();
}