記錄

Farm_2) 반응형 화면처리, click or touch event, 그룹, forEach 본문

Game/Phaser

Farm_2) 반응형 화면처리, click or touch event, 그룹, forEach

surhommejk 2018. 4. 3. 21:20


반응형 화면 조절


create: function(){

// 반응형으로 화면을 꽉 채워서 보여준다
this.scale.scaleMode = Phaser.ScaleManager.SHOW_ALL;

// 반응형으로 수직, 수평 정렬이 되도록 한다
this.scale.pageAlignHrizontally = true;
this.scale.pageAlignVertically = true; }








클릭 이벤트 설정, pixel 단위 인식 설정


//left arrow allow user input
//leftarrow 가 input이 가능하도록 한다
this.leftArrow.inputEnabled = true;

// inputEnabled가 true 가 되었으므로 설정할 수 있는 attribute
// pixelPerfectClick을 함으로써 큰 직사각형인식이 아니라 pixel로 정교하게 인식
this.leftArrow.input.pixelPerfectClick = true;

// event 설정하며 첫번째 파라미터에 메소드를 입력하고
// 'we have to pass this current object as well' 이라고 두번째 파라미터 설명
this.leftArrow.events.onInputDown.add(this.switchAnimal, this);










그룹, forEach


//group for animals
var animalData = [
{key: 'chicken', text: 'CHICKEN'},
{key: 'horse', text: 'HORSE'},
{key: 'pig', text: 'PIG'},
{key: 'sheep', text: 'SHEEP'}
];

// animals라는 그룹을 생성하고 선언하는 처리
this.animals = this.game.add.group();

// forEach문 내에서 this.animals를 하면 접근이 불가
// 따라서 self에 this를 담아서 사용(전적으로 반복문 내부 사용을 위함)
// 여기서 this는 우리가 현재 속해있는 object를 가리킨다
// this refers to the object we're in !!
// 요약 : forEach 내부에서 this는 사용이 불가능
var self = this;

animalData.forEach(function(element){
self.animals.create(200, self.game.world.centerY, element.key);
});



Comments