Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 블록체인
- 알고리즘
- HTML
- SQL
- phaser
- Ajax
- model1
- 도커
- PL/SQL
- 암호화
- EC2
- websocket
- 웹게임
- CSS
- tiles.xml
- 배포
- JSP
- 비트코인
- AWS
- RDS
- Spring
- JavaScript
- autowired
- jQuery
- node.js
- express
- Cookie
- docker
- Servlet
- 웹소켓
Archives
- Today
- Total
記錄
Pet_2) inputEnabled, enableDrag(), button 처리 본문
inputEnabled, enableDrag()
this.pet = this.game.add.sprite(100, 400, 'pet');
this.pet.anchor.setTo(0.5);
//custom properties
this.pet.customParams = {health: 100, fun: 100};
// The InputEnabled component allows a Game Object
// to have its own InputHandler and process input related events.
this.pet.inputEnabled = true;
// 이 메소드를 통해 pet이 drag가 가능하게 된다
this.pet.input.enableDrag();
this.apple = this.game.add.sprite(72, 570, 'apple');
this.apple.anchor.setTo(0.5);
this.apple.inputEnabled = true;
this.apple.customParams = {health: 20};
// 트리거 발생시 실행될 함수와 실행 범위 설정(context)
this.apple.events.onInputDown.add(this.pickItem, this);
this.candy = this.game.add.sprite(144, 570, 'candy');
this.candy.anchor.setTo(0.5);
this.candy.inputEnabled = true;
this.candy.customParams = {health: -10, fun: 10};
this.candy.events.onInputDown.add(this.pickItem, this);
this.toy = this.game.add.sprite(216, 570, 'toy');
this.toy.anchor.setTo(0.5);
this.toy.inputEnabled = true;
this.toy.customParams = {fun: 20};
this.toy.events.onInputDown.add(this.pickItem, this);
this.rotate = this.game.add.sprite(288, 570, 'rotate');
this.rotate.anchor.setTo(0.5);
this.rotate.inputEnabled = true;
this.rotate.events.onInputDown.add(this.rotatePet, this);
this.buttons = [this.apple, this.candy, this.toy, this.rotate];
//nothing is selected
this.selectedItem = null;
},
// create 영역에 있다는 것을 명심 (update가 아니다)
pickItem: function(sprite, event) {
console.log('pick item');
},
rotatePet: function(sprite, event) {
console.log('rotating..');
}
button 처리
this.buttons = [this.apple, this.candy, this.toy, this.rotate];
//nothing is selected
this.selectedItem = null;
//the user interface (UI) is not blocked at the start
this.uiBlocked = false;
},
pickItem: function(sprite, event) {
//if the UI is blocked we can't pick an item
//true가 아닌 이상 원천적으로 아예 아무 것도 실행되지 않도록 처리
if(!this.uiBlocked) {
console.log('pick item');
// 일단 원하는 로직을 넣고 나중에 밑에 함수를 쓰면 된다
// 이런 식으로 코딩
this.clearSelection();
//alpha to indicate selection
// 투명도 처리
sprite.alpha = 0.4;
// selectedItem을 선언하고 클릭된 sprite를 할당
this.selectedItem = sprite;
}
},
rotatePet: function(sprite, event) {
if(!this.uiBlocked) {
//we want the user interface (UI) to be blocked until the rotation ends
this.uiBlocked = true;
this.clearSelection();
//alpha to indicate selection
sprite.alpha = 0.4;
console.log('rotating..');
}
},
clearSelection: function() {
//remove transparency from all buttons
this.buttons.forEach(function(element, index){
element.alpha = 1;
});
//we are not selecting anything now
this.selectedItem = null;
}
};
'Game > Phaser' 카테고리의 다른 글
Pet_4) sprite frame, Health와 Fun 수치 삽입 (0) | 2018.04.06 |
---|---|
Pet_3) rotate(), Placing items (0) | 2018.04.06 |
Pet_1) init, API Doc 활용, phaser 함수 다시 이해 (0) | 2018.04.06 |
Farm_4) animation, audio, text (0) | 2018.04.06 |
Farm_3) 그룹과 반복문, next(), 동물 교체, tween, onComplete (0) | 2018.04.04 |
Comments