Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.10.2018, 20:17
Кандидат Javascript-наук
Отправить личное сообщение для Всемогущий Посмотреть профиль Найти все сообщения от Всемогущий
 
Регистрация: 11.09.2018
Сообщений: 128

Сделать так чтоб поворачивалось только один прямоугольник
Как здесь надо изменить код так чтобы повернулся только один из четырех прямоугольников?. p.s: в хтмл добавьте элемент <canvas>.
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
var health = 40;
var x = 100;	
var y = 110;
var xy = 280;
var cvet = ["white","red"];
var okraska = ["white","black"];
var base = { 
 
color:"#48260D",
x:100,
y:100,
height:40,
width:40,
description:"base,"
};
console.log(base.color);
 function rotate(){
ctx.rotate(20 * Math.PI / 180);
//ctx.translate(base.x,base.y);
//ctx.fillRect(base.x+200,base.y+300,base.height,base.width);

ctx.fillStyle = "black";

//ctx.fillRect(base.x+210,base.y+310,base.height-20,base.width-20);
 
 }
function draw(x, y) {
   
ctx.fillStyle = "black";
ctx.fillRect(x,y,20,20);
console.log(x);

  //ctx.drawImage(imagesi,x,y,40,40);
 ctx.fillStyle = base.color;
 
ctx.fillRect(base.x, base.y, base.height,base.width);
 
ctx.fillRect(base.x+200,base.y, base.height,base.width);
 

ctx.fillRect(base.x+200,base.y+300,base.height,base.width);

ctx.fillStyle = "black";

ctx.fillRect(base.x+210,base.y+310,base.height-20,base.width-20);

if( health > 0){ctx.fillStyle = cvet[1];ctx.strokeStyle = okraska[1];} else{ ctx.fillStyle = cvet[0];ctx.strokeStyle = okraska[0];}
ctx.fillRect(100,85,40,10);
ctx.fillRect(300,85,health,10);



if(x > 260){ 
x--; 
this.x--; 
ctx.fillStyle = "black";
ctx.fillRect(xy,115,7,4);
xy+=1;
if(xy > 300){ xy = 262; this.xy = 262; this.health-=5;   }


ctx.strokeRect(100,85,40,10);
ctx.strokeRect(300,85,40,10);
}
}

function move() {
 x+=1;
  
}

function game() {
       ctx.clearRect(0, 0, canvas.width, canvas.height);
       move();
       draw(x, y);
       requestAnimationFrame(game)
  
}

 

var imagesi = new Image();
imagesi.onload = game;
imagesi.src="tank.png";



 rotate();
Ответить с цитированием
  #2 (permalink)  
Старый 31.10.2018, 05:17
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

ctx.save()
ctx.restore()
Ответить с цитированием
  #3 (permalink)  
Старый 31.10.2018, 11:41
Кандидат Javascript-наук
Отправить личное сообщение для Всемогущий Посмотреть профиль Найти все сообщения от Всемогущий
 
Регистрация: 11.09.2018
Сообщений: 128

неполучилось
Ответить с цитированием
  #4 (permalink)  
Старый 31.10.2018, 21:50
Кандидат Javascript-наук
Отправить личное сообщение для Всемогущий Посмотреть профиль Найти все сообщения от Всемогущий
 
Регистрация: 11.09.2018
Сообщений: 128

Сообщение от Alexandroppolus Посмотреть сообщение
ctx.save()
ctx.restore()
Alexandroppolus,спасибо большое уже разобрался !!!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Применять адаптивность сайта только один раз Alexbelkevich Сайт Javascript.ru 2 16.08.2016 16:43
Как сделать чтоб функция выволнялась по click один раз или просто выполнялась? TaH4uk.pro jQuery 1 06.12.2012 22:41
как сделать так, чтоб браузер смог отличить знак больше от закрытия тэга? FirstFrost Общие вопросы Javascript 8 17.07.2010 22:55
Как сделать так, чтобы JS при нажатии на кнопку не выполняла запрос со страницы. JSProgrammer Элементы интерфейса 3 18.05.2010 20:18
Можно ли сделать так... Абум Общие вопросы Javascript 1 04.07.2009 18:49