Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Отдаление камеры при увеличении радиуса объекта (https://javascript.ru/forum/css-html/65325-otdalenie-kamery-pri-uvelichenii-radiusa-obekta.html)

Саша Градинар 12.10.2016 17:10

Отдаление камеры при увеличении радиуса объекта
 
Решил создать 2d игру на движке "PointJS", столкнулся с проблемой. При увеличении радиуса объекта (player) камера не отдаляеться. Пробывал по разному, но бред выходит. Код:
<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 <meta name="viewport" content="width=device-width,user-scalable=no"/>
 <title></title>
</head>
<body>
<script type="text/javascript" src="point.js"></script>

<script type="text/javascript">

var js = new PointJS('2d',400,400, {backgroundColor: '#C2C2C2'});
js.system.initFullPage();
var game = js.game;

var mouse = js.mouseControl;
mouse.initMouseControl();

var rand = js.math.random;
var rc = js.colors.randomColor;
var log = js.system.log;

var player = game.newCircleObject( { 
  x : 100, 
  y : 100, 
  radius : 20, 
  fillColor : "#FBFE6F", 
  strokeColor : "black", 
  strokeWidth : 2, 
})

var s=30, x, y, fon=[]; {
for (x=0; x<100; x++){
for (y=0; y<100; y++){
fon.push(
game.newRectObject( { 
  x : x*s,
  y : y*s, 
  w: s-2.5,
  h: s-2.5,
  fillColor : "#D1D1D1"
}))}}}

var box=[]; {
for (b=0; b<1200; b++){
box.push(
game.newCircleObject( { 
  x : rand (0, 2500), 
  y : rand (0, 2500), 
  radius : rand (1, 6), 
  fillColor : rc(0, 255), 
})
)
}}




game.newLoop('Bacter.io', function () {
  game.clear();


for (var i in fon){
  if(fon[i].isInCamera())
  fon[i].draw();  
}

for (var b in box){
  if(box[b].isInCamera())
  box[b].draw();  
}


player.moveTimeC(mouse.getPosition(),player.radius*2+30);

player.draw();

for (var b in box){

if(player.isDynamicIntersect(box[b].getDynamicBox())){
box.splice(b, 1);

if(player.radius<240){
// log(player.radius); // Размер player в консоле.
player.scaleC(0.3);
}

}

if(box.length<1999)
for (b=0; b<200; b++){
box.push(
game.newCircleObject( { 
  x : rand (0, 2500), 
  y : rand (0, 2500), 
  radius : rand (1, 6), 
  fillColor : rc(0, 255), 
}))}}
  

js.camera.setPositionC(player.getPosition(1));

})

game.setLoop('Bacter.io');
game.start();


</script>

</body>
</html>

Функции камеры которые я пробывал:
PointJS.camera.setPosition()Установить камеру в позицию;
PointJS.camera.move()Двигать камеру в направлении


Часовой пояс GMT +3, время: 15:39.