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
- 암호화
- 웹게임
- node.js
- 비트코인
- 배포
- tiles.xml
- Spring
- JSP
- Cookie
- SQL
- 블록체인
- Ajax
- RDS
- docker
- CSS
- phaser
- AWS
- autowired
- jQuery
- PL/SQL
- EC2
- 웹소켓
- 도커
- websocket
- JavaScript
- 알고리즘
- express
- Servlet
- HTML
- model1
Archives
- Today
- Total
記錄
Pet_3) rotate(), Placing items 본문
rotate()
rotatePet: function(sprite, event) {
if(!this.uiBlocked) {
this.uiBlocked = true;
this.clearSelection();
//alpha to indicate selection
sprite.alpha = 0.4;
// tween animation 객체를 선언 후 할당
// tween 함수의 파라미터는 tween animation이 작동할 대상
var petRotation = this.game.add.tween(this.pet);
// make the pet do two loops
// petRotation의 작동 모습과 작동 시간 설정
petRotation.to({angle: '+720'}, 1000);
// petRotation이 끝나면 작동할 함수 설정
petRotation.onComplete.add(function(){
// release the UI
// 타 버튼도 작동할 수 있도록 boolean 처리
this.uiBlocked = false;
sprite.alpha = 1;
//increse the fun of the pet
this.pet.customParams.fun += 10;
console.log(this.pet.customParams.fun);
}, this);
//start the tween animation
petRotation.start();
}
},
Placing items
create: function() {
this.background = this.game.add.sprite(0, 0, 'backyard');
// background에 아이템을 두어야 하므로 background를 onInputDown설정
this.background.inputEnabled = true;
this.background.events.onInputDown.add(this.placeItem, this);
placeItem: function(sprite, event) {
if(this.selectedItem && !this.uiBlocked) {
// event 발생시의 좌표값을 받아와서 할당
var x = event.position.x;
var y = event.position.y;
// 새로운 sprite를 선언하고 받아온 값으로 할당
// 선택된 아이템의 key를 설정
var newItem = this.game.add.sprite(x, y, this.selectedItem.key);
newItem.anchor.setTo(0.5);
// 새로 placing 될 item의 customParams를
// 버튼의 customParams와 똑같이 복제
newItem.customParams = this.selectedItem.customParams;
}
}
Pet의 이동과 기존 아이템 삭제 및 수치 증감처리
var petMovement = this.game.add.tween(this.pet);
petMovement.to({x: x, y: y}, 700);
petMovement.onComplete.add(function(){
//destroy the apple/candy/duck
newItem.destroy();
//release the ui
this.uiBlocked = false;
var stat;
for(stat in newItem.customParams) {
// we only want the properties of the customParams object,
// not properties that may existing in customParams.prototype
// this filters out all non-desired properties
if(newItem.customParams.hasOwnProperty(stat)) {
this.pet.customParams[stat] += newItem.customParams[stat];
}
}
}, this);
//start the tween animation
petMovement.start();
}
}
'Game > Phaser' 카테고리의 다른 글
Pet_5) timer, GameOver & restart (0) | 2018.04.06 |
---|---|
Pet_4) sprite frame, Health와 Fun 수치 삽입 (0) | 2018.04.06 |
Pet_2) inputEnabled, enableDrag(), button 처리 (0) | 2018.04.06 |
Pet_1) init, API Doc 활용, phaser 함수 다시 이해 (0) | 2018.04.06 |
Farm_4) animation, audio, text (0) | 2018.04.06 |
Comments