Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.06.2016, 02:39
Новичок на форуме
Отправить личное сообщение для Camad Посмотреть профиль Найти все сообщения от Camad
 
Регистрация: 20.09.2014
Сообщений: 5

Поворот за мышкой в Canvas
Здравствуйте ребята!
Помогите.
Пытаюсь сделать поворот в игре, игра сама рабочая вот решаил апгрейдом заняться.
Но хоть убей не поворачивается(
Возможно ошибка в маленькой глупости но я уже запарился и почти в первый раз перестал искать и решил написать.
Вот часть скрипта:
var igrok = new Player
//Сразу как получаю угол:
   igrok.angle = Math.atan2(my - igrok.y-(igrok.height / 2), mx - igrok.x-(igrok.width/ 2));

//Спасайте!!
//Что у меня не так?
//В цикле запускается функция 
igrok.update()

function Player(){
  this.x = 44
  this.y = 44
  this.width = 42
  this.height = 42
  this.angle=0;
  this.bcan=document.createElement('canvas');
  this.bcan.width=42;
  this.bcan.height=42;
  this.ctx=this.bcan.getContext('2d');      
  this.ctx.beginPath();
  this.ctx.fillStyle='rgb(88,96,184)';
  this.ctx.lineWidth=2;
  this.ctx.strokeStyle='black';
  this.ctx.fillRect(0,0,this.width,this.height);
  // this.ctx.arc(17,17,15,0,2*Math.PI, true);
  this.ctx.stroke();
  this.ctx.fill();
  this.bcan1=document.createElement('canvas');
  this.bcan1.width= gameWidth;
  this.bcan1.height= 5;
  this.ctx1=this.bcan1.getContext('2d');      
  this.ctx1.beginPath();
  this.ctx1.fillStyle='red';
  this.ctx1.lineWidth=2;
  this.ctx1.strokeStyle='black';
  this.ctx1.fill();
  this.hppolos = gameWidth
  Player.prototype.draw = function(){
  this.ctx1.clearRect(0, 0, gameWidth, this.bcan1.height)
  this.ctx1.fillRect(0, 0, this.hppolos, 5)
  this.ctx.translate(this.x + this.width/2,this.y + this.height/2);
   this.ctx.rotate(this.angle)
    ctxPl.drawImage(this.bcan,this.x,this.y);
    ctxPl.drawImage(this.bcan1,0,gameHeight-5);
  }
  Player.prototype.update = function(){
    if(this.x < 0){this.x = 2}
    if(this.x > gameWidth - this.width){this.x = gameWidth - this.width - 2}
    if(this.y < 0){this.y = 2}
    if(this.y > gameHeight - this.height){this.y = gameHeight - this.height - 2}
  this.chooseDir()
    this.draw()
    }
  Player.prototype.chooseDir = function(){
var prov
    oborona.forEach(function(enemy) {
      if (collides(enemy, igrok)) {
      	// console.log(1)
        // prov = true
      }
    })
   

    this.draw()
  }
    }
}

this.bcan1=document.createElement('canvas');
Полоска жизни

clearRect()
Находится в цикле обновления

Последний раз редактировалось Camad, 20.06.2016 в 03:07.
Ответить с цитированием
  #2 (permalink)  
Старый 20.06.2016, 02:43
Новичок на форуме
Отправить личное сообщение для Camad Посмотреть профиль Найти все сообщения от Camad
 
Регистрация: 20.09.2014
Сообщений: 5

this.bcan1=document.createElement('canvas');
Полоска жизни
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Повтор фото (getUserMedia(),HTML5 Canvas) aspex Элементы интерфейса 1 27.12.2014 16:46
Canvas поворот объекта bogomazov.vadim Общие вопросы Javascript 1 23.05.2014 03:38
HTML5 Canvas. Поворот изображения Valdemor Элементы интерфейса 3 29.04.2013 18:12
Задача: поворот движущего сложного объекта canvas DenBraun Общие вопросы Javascript 7 18.06.2012 17:05
Поворот изображения на Canvas Severtain Общие вопросы Javascript 16 07.07.2011 19:19