Спасибо. Вот этот момент я понял //g.fillRect(0,0,500,500);, но когда я тестил код у меня вообще не чего не выресовывалось. В чем была ошибка?
|
Цитата:
an gle с разрывом в параметрах функции отладчик хрома сразу нашел |
А если есть два класса объектов, то как проверять в них столкновения этих объектов? Допустим пули со стеной. То есть, как это проверять прям в классах этих объектов?
|
c= document.getElementById('c');g= c.getContext('2d');
var gameObject=[]; map=[ 0,0,0,1,0,0,0,0, 0,1,1,1,1,1,1,0, 0,1,1,1,1,1,1,0, 0,1,1,0,0,1,1,0, 1,1,1,0,1,1,1,1, 0,1,1,1,1,1,1,0, 0,1,1,1,1,1,1,0, 0,0,0,1,0,0,0,0 ]; mapClet=50; vx=0;vy=0; var plyer=function(xPl,yPl,col){ vec=0; that={ xPl:xPl, yPl:yPl, col:col, move: function(){ if(key==37){xPl-=mapClet; vec=0} if(key==39){xPl+=mapClet; vec=1} if(key==38){yPl-=mapClet; vec=2} if(key==40){yPl+=mapClet; vec=3} if(key==32){gameObject.push(bulletPlayer(xPl+15,yP l+15,vec,"#000"))} }, draw: function(){ g.fillStyle=col; g.fillRect(xPl,yPl,mapClet,mapClet); } }; return that; }; var mob=function(xMb,yMb,col){ that={ xMb:xMb, yMb:yMb, col:col, move: function(){}, draw: function(){ g.fillStyle=col; g.fillRect(xMb,yMb,mapClet,mapClet); } }; return that; }; var bulletPlayer=function(xBp,yBp,vec,col){ that={ xBp:xBp, yBp:yBp, col:col, vec:vec, move: function(){ if(vec==0){xBp-=mapClet} if(vec==1){xBp+=mapClet} if(vec==2){yBp-=mapClet} if(vec==3){yBp+=mapClet} }, draw: function(){ g.fillStyle=col; g.fillRect(xBp,yBp,20,20); } }; return that; }; var bulletMob=function(xBm,yBm,vec,col){ that={ xBm:xBm, yBm:yBm, vec:vec, col:col, move: function(){}, draw: function(){} }; }; var woll=function(x,y,col){ that={ x:x, y:y, col:col, move: function(){}, draw: function(){ g.fillStyle=col; g.fillRect(x,y,mapClet,mapClet); } }; } setInterval(function(){ g.clearRect(0,0,700,700); for(n=0;n<64;n++){ x=n&7;y=n>>3; if(map[n]==0){vx=x;vy=y} g.fillStyle="#0f0"; g.fillRect(vx*mapClet,vy*mapClet,mapClet,mapClet); } gameObjectFresh=[]; for(i=0;i<gameObject.length;i++){ gameObject[i].move(); gameObject[i].draw(); if(gameObject.flag===false){ gameObjectFresh.push(gameObject[i]); } } gammeObject=gameObjectFresh; },100); gameObject.push(plyer(200,200,"#00f")); gameObject.push(mob(300,300,"#f00")); document.onkeydown = keyDn; document.onkeyup = keyUp; key=0; function keyDn(e) {key = e.which; } function keyUp(e) {key = 0;} [/JS] вот допустим как здесь сделать проверку столкновения танка с мобом и стенами, пуль с танком, мобом и стенами? Это я танчики пишу:) помогите пожалуйста =) |
Просто на основе этого можно будет писать самые разные игры! И очень просто! Вот только еще же могут быть столкновения двух мобов... То есть если два объекта одного класса сталкиваются как быть? Как проверять их столкновения?
|
хотя это уже выходит за темы этого форума...
|
это, типа ни кто не знает???
|
Часовой пояс GMT +3, время: 16:31. |