Advertisement
Guest User

Untitled

a guest
Jan 12th, 2020
374
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.32 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html><head>
  3. <meta http-equiv="content-type" content="text/html; charset=ISO-8859-2">
  4. <script type="text/javascript" charset="UTF-8" src="main_pliki/transformacje.js"></script> <!-- korzystamy z biblioteki "transformacje.js" -->
  5. <script type="text/javascript" charset="UTF-8">
  6. //========================================================================================
  7.  
  8.  
  9. var d=700;
  10. var E = [400, 300, -d];
  11. var Speed = 12;
  12. var posX = 430;
  13. var posY = 700;
  14. var Movement = 'Noone';
  15. var fps;
  16.  
  17. function clear_canvas(){
  18. canvas=document.getElementById("canvas");
  19. if(!canvas.getContext){return;}
  20. c=canvas.getContext("2d");
  21. c.clearRect(0,0,canvas.width,canvas.height);}
  22.  
  23. //=====================================================================================
  24. //Rysowanie wielokat0w
  25.  
  26. function polygon(w,color){
  27.  
  28. var v = [];
  29. for(var i=0; i<w.length; i++)
  30. v[i]=projectXY(w[i], d);
  31.  
  32. canvas=document.getElementById("canvas");
  33. if(!canvas.getContext){return;}
  34. c=canvas.getContext("2d");
  35.  
  36. c.beginPath();
  37. c.moveTo(v[0][0],v[0][1]);
  38. for(var i=1; i<v.length; i++)
  39. c.lineTo(v[i][0],v[i][1]);
  40.  
  41. c.closePath();
  42.  
  43. c.lineWidth = 1;
  44. c.fillStyle = color;
  45. c.fill();
  46. c.strokeStyle = color;
  47. c.stroke();
  48. }
  49.  
  50.  
  51. function triangle(a,b,c,color){
  52. polygon([a,b,c],color);
  53. }
  54.  
  55. //=====================================================================================
  56. function visibility(a3D,b3D,c3D){
  57.  
  58. a=projectXY(a3D,d);
  59. b=projectXY(b3D,d);
  60. c=projectXY(c3D,d);
  61.  
  62. var visible = 1;
  63. if(((b[0]-a[0])*(c[1]-b[1])-(b[1]-a[1])*(c[0]-b[0]))>=0)
  64. {visible=0;}
  65. return visible;
  66. }
  67.  
  68.  
  69. function face(w,color){
  70. if(1==visibility(w[0],w[1],w[2]))
  71. {polygon(w,color);}
  72. }
  73.  
  74. function rotation(angle){
  75. var a=[];
  76. var b=[];
  77. a[0]=(b1[0][0]+b1[2][0])/2;
  78. a[1]=(b1[0][1]+b1[2][1])/2;
  79. a[2]=(b1[0][2]+b1[2][2])/2;
  80.  
  81. b[0]=(b1[4][0]+b1[6][0])/2;
  82. b[1]=(b1[4][1]+b1[6][1])/2;
  83. b[2]=(b1[4][2]+b1[6][2])/2;
  84.  
  85. rotateVertex(p,a,b,angle);
  86. rotateVertex(b1,a,b,angle);
  87. clear_canvas();
  88. drawPlayer();
  89. }
  90.  
  91.  
  92. //==========================================================================================
  93. //==========================================================================================
  94. //==========================================================================================
  95. //==========================================================================================
  96. //==========================================================================================
  97. //==========================================================================================
  98. //==========================================================================================
  99. //==========================================================================================
  100. //==========================================================================================
  101. //==========================================================================================
  102.  
  103.  
  104. var p = scaleVertex([
  105. //Upper
  106. [0, 0, 3],
  107. [3, 0, 3],
  108. [3, 0, 3.5],
  109. [0, 0, 3.5],
  110.  
  111. [0, 0.3, 3],
  112. [3, 0.3, 3],
  113. [3, 0.3, 3.5],
  114. [0, 0.3, 3.5],
  115.  
  116. //Lower
  117. [0.4,0.6,3],
  118. [2.6,0.6,3],
  119. [0.4,0.6,3.5],
  120. [2.6,0.6,3.5],
  121. ], 40);
  122.  
  123. var b1 = scaleVertex([
  124. [0, 3, 3],
  125. [5, 3, 3],
  126. [5, 3, 3.5],
  127. [0, 3, 3.5],
  128.  
  129. [0, 4, 3],
  130. [5, 4, 3],
  131. [5, 4, 3.5],
  132. [0, 4, 3.5],
  133. ], 20);
  134.  
  135. function drawPlayer(){
  136.  
  137.  
  138. face([p[4],p[8],p[10],p[7]],'yellow');
  139. face([p[5],p[6],p[11],p[9]],'yellow');
  140. face([p[7],p[10],p[11],p[6]],'green');
  141. face([p[4],p[8],p[9],p[5]],'green');
  142.  
  143.  
  144.  
  145.  
  146.  
  147. face([p[0],p[1],p[2],p[3]],'red');
  148. face([p[0],p[4],p[5],p[1]],'grey');
  149. face([p[1],p[5],p[6],p[2]],'blue');
  150. face([p[2],p[6],p[7],p[3]],'cyan');
  151. face([p[3],p[7],p[4],p[0]],'magenta');
  152. face([p[4],p[7],p[6],p[5]],'yellow');
  153.  
  154.  
  155. }
  156.  
  157.  
  158. function drawBrick(b1){
  159. /*
  160. var n=Math.floor((Math.random() * 10) + 1);
  161. var c;
  162.  
  163. if (n==1) c='red'
  164. if (n==2) c='grey'
  165. if (n==3) c='blue'
  166. if (n==4) c='cyan'
  167. if (n==5) c='red'
  168. */
  169.  
  170. face([b1[0],b1[1],b1[2],b1[3]],'red');
  171. face([b1[0],b1[4],b1[5],b1[1]],'grey');
  172. face([b1[1],b1[5],b1[6],b1[2]],'blue');
  173. face([b1[2],b1[6],b1[7],b1[3]],'cyan');
  174. face([b1[3],b1[7],b1[4],b1[0]],'magenta');
  175. face([b1[4],b1[7],b1[6],b1[5]],'yellow');
  176.  
  177.  
  178. }
  179. var brick=[];
  180. var count=0;
  181.  
  182. function draw(){
  183. clear_canvas();
  184. if (Movement=='Left' && posX > 25)
  185. {
  186. translateVertex(p,[-Speed,0,0]);
  187. posX=posX-Speed;
  188. }
  189. if (Movement=='Right' && posX < 830)
  190. {
  191. translateVertex(p,[Speed,0,0]);
  192. posX=posX+Speed;
  193. }
  194. drawPlayer();
  195.  
  196.  
  197. for (var c=1; c<=count; c++){
  198. drawBrick(brick[c]);
  199. }
  200.  
  201. }
  202.  
  203. function CreateBrick(a,b,c){
  204. count++;
  205. brick[count] = scaleVertex([
  206. [0, 3, 3],
  207. [5, 3, 3],
  208. [5, 3, 3.5],
  209. [0, 3, 3.5],
  210.  
  211. [0, 4, 3],
  212. [5, 4, 3],
  213. [5, 4, 3.5],
  214. [0, 4, 3.5],
  215. ], 20);
  216. translateVertex(brick[count],[a,b,c]);
  217. drawBrick(brick[count]);
  218.  
  219. }
  220.  
  221. function Level1(){
  222. var x=0;
  223. var y=-60;
  224.  
  225. for (var j=0; j<3; j++){
  226. for(var i=0; i<6; i++)
  227. {
  228. CreateBrick(x,y,0);
  229. x=x+140;
  230. console.log(x,y);
  231.  
  232. }
  233. y=y+70;
  234. x=0;
  235. }
  236. }
  237.  
  238. function Frames(){
  239. translateVertex(p,[340,620,0]);
  240. fps = setInterval('draw()', 12);
  241. }
  242.  
  243. var play;
  244.  
  245. function startAnimation(){
  246. play=setInterval('animate()',65);
  247. }
  248. function stopAnimation(){
  249. clearInterval(play);
  250. }
  251.  
  252. function keyDownHandler(e)
  253. {
  254. e = e || event;
  255. var keyCode = e.keyCode, letter = (String.fromCharCode(e.keyCode) || '').toLowerCase();
  256.  
  257.  
  258. //Lewo
  259. if (37 == keyCode)
  260. {
  261. Movement='Left'
  262.  
  263. }
  264. //Prawo
  265. if (39 == keyCode )
  266. {
  267.  
  268. Movement='Right'
  269.  
  270. }
  271.  
  272. if (38 == keyCode)
  273. {
  274. Movement='Noone'
  275.  
  276. }
  277.  
  278. if (40 == keyCode)
  279. {
  280. Movement='Noone'
  281. }
  282.  
  283.  
  284. return false;
  285. }
  286.  
  287.  
  288.  
  289. </script>
  290. </head>
  291.  
  292. <body onkeydown="keyDownHandler(event)">
  293. <table cellspacing="1" cellpadding="1"> <tbody><tr> <td> <canvas id="canvas" width="800" height="600" style="background:rgb(160,180,222)">
  294. <br>
  295.  
  296. </td> <td>
  297. <button onclick="Frames(); Level1();">Start</button>
  298. <button onclick="Level1(); ">Test</button>
  299.  
  300.  
  301.  
  302.  
  303. </body></html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement