모바일의 부상으로, 나는 더 자주 객체의 크기를 조정해야한다는 것을 알게되었습니다. 이것은 화면 크기의 차이를 보완하기위한 것입니다. 높이나 너비와 같은 속성 하나를 변경하는 것은 쉽지만 이미지 비율이 비례해야하는 것이 더 좋으므로 다음과 같은 공식이 필요합니다.
new_width = old_width*(new_height/old_height);
가로 세로 비율 유지하기
Phaser에서 걱정할 필요가 없습니다.스프라이트의 높이나 너비를 변경하면 스케일 객체 속성이 업데이트됩니다. 예를 들어 스프라이트의 너비를 변경하면 scale.x 속성이 변경됩니다.
너비를 변경하면 scale.x를 scale.y로 복사합니다.
mySprite.scale.y=mySprite.scale.x;
높이를 변경하면 반대로 하면됩니다.
mySprite.scale.x=mySprite.scale.y;
실제 샘플 코드 입니다.
var StateMain = {
preload: function () {
game.load.image("doughnut","images/doughnut.png");
},
create: function () {
this.makeDoughnuts();
game.input.onDown.add(this.makeDoughnuts, this);
},
makeDoughnuts:function()
{
for (var i = 0; i < 5; i++) {
var doughnut=game.add.sprite(game.world.randomX,game.world.randomY,"doughnut");
doughnut.width=game.rnd.integerInRange(50, 150);
//when we change the width, we automatically change the scale.x
//setting the scale.y to scale.x will make the
//object proportional
doughnut.scale.y=doughnut.scale.x;
}
},
update: function () {
}
}
'PHASER.JS' 카테고리의 다른 글
Phaser Audio Delay (0) | 2018.10.12 |
---|---|
Complex Objects – Phaser (0) | 2018.10.12 |
Phaser Js 코드 템플레이트 (Text) (0) | 2018.10.12 |
Phaser Js 코드 템플레이트 (Button) (0) | 2018.10.12 |
Phaser Js 코드 템플레이트 (Physics) (0) | 2018.10.11 |