Commit 0541c50e authored by 18손재민's avatar 18손재민 Committed by 18류지석

모든 공격자한테 단어 공격모션 보이기 wip

parent 6052d290
...@@ -76,7 +76,7 @@ class GameRoom ...@@ -76,7 +76,7 @@ class GameRoom
{ {
this.roomId = GameServer.getRoomNumber(); this.roomId = GameServer.getRoomNumber();
this.roomIndex = -1; this.roomIndex = -1;
this.startCount = 2; this.startCount = 4;
this.maxPlayer = 100; this.maxPlayer = 100;
this.nextRank = 100; this.nextRank = 100;
...@@ -288,6 +288,7 @@ class Player ...@@ -288,6 +288,7 @@ class Player
this.gameRoomId = gameRoom.roomId; this.gameRoomId = gameRoom.roomId;
this.index = gameRoom.currentPlayer.length; this.index = gameRoom.currentPlayer.length;
this.nickname = playerData.nickname; this.nickname = playerData.nickname;
this.playerImage = null;
this.position = null; this.position = null;
this.isAlive = true; this.isAlive = true;
......
var BackGround = BackGround || {} var BackGround = BackGround || {}
BackGround.brainGroup = null; BackGround.brainGroup = null;
BackGround.myCharacter = null;
BackGround.characterPos = [ BackGround.characterPos = [
new Phaser.Math.Vector2(100, 99), new Phaser.Math.Vector2(248, 198), new Phaser.Math.Vector2(412, 144), new Phaser.Math.Vector2(124, 393), new Phaser.Math.Vector2(100, 99), new Phaser.Math.Vector2(248, 198), new Phaser.Math.Vector2(412, 144), new Phaser.Math.Vector2(124, 393),
new Phaser.Math.Vector2(368, 336), new Phaser.Math.Vector2(272, 453), new Phaser.Math.Vector2(100, 595), new Phaser.Math.Vector2(284, 678), new Phaser.Math.Vector2(368, 336), new Phaser.Math.Vector2(272, 453), new Phaser.Math.Vector2(100, 595), new Phaser.Math.Vector2(284, 678),
...@@ -21,7 +20,8 @@ BackGround.loadImage = function(scene) ...@@ -21,7 +20,8 @@ BackGround.loadImage = function(scene)
BackGround.drawCharacter = function(scene) BackGround.drawCharacter = function(scene)
{ {
BackGround.myCharacter = scene.add.sprite(game.config.width / 2, game.config.height * 41 / 48, 'pyeongminWrite').setScale(0.45).setDepth(2); RoomData.myself.playerImage = scene.add.sprite(game.config.width / 2, game.config.height * 41 / 48, 'pyeongminWrite').setScale(0.45).setDepth(2);
RoomData.myself.position = new Phaser.Math.Vector2(RoomData.myself.playerImage.x, RoomData.myself.playerImage.y);
BackGround.characterPos = BackGround.characterPos.sort(function(){return 0.5-Math.random()}); BackGround.characterPos = BackGround.characterPos.sort(function(){return 0.5-Math.random()});
RoomData.players.forEach(function(element){ RoomData.players.forEach(function(element){
if(element.id != RoomData.myself.id) if(element.id != RoomData.myself.id)
......
...@@ -161,6 +161,9 @@ socket.on('attacked', function(msg) // object attackData ...@@ -161,6 +161,9 @@ socket.on('attacked', function(msg) // object attackData
attackedEvent.resetCycle(ScenesData.gameScene, 4000, 0, false); attackedEvent.resetCycle(ScenesData.gameScene, 4000, 0, false);
WordSpace.attackedEvents.push(attackedEvent); WordSpace.attackedEvents.push(attackedEvent);
console.log(msg.attacker);
console.log(msg.victim);
WordSpace.makeAttackPaper(ScenesData.gameScene, msg.victim.position, msg.attacker.position);
//console.log(timeout); //console.log(timeout);
}); });
socket.on('defeat', function(msg) // object player socket.on('defeat', function(msg) // object player
......
...@@ -80,7 +80,7 @@ class WordObject ...@@ -80,7 +80,7 @@ class WordObject
this.wordObj.destroy(); this.wordObj.destroy();
this.physicsObj.destroy(); this.physicsObj.destroy();
} }
BackGround.myCharacter.play(WordSpace.pyeongminAnims[Enums.characterAnim.write]); RoomData.myself.playerImage.play(WordSpace.pyeongminAnims[Enums.characterAnim.write]);
} }
attract() attract()
......
...@@ -330,8 +330,8 @@ WordSpace.findWord = function(wordText) ...@@ -330,8 +330,8 @@ WordSpace.findWord = function(wordText)
Input.attackMode = true; Input.attackMode = true;
WordSpace.attackGauge.pauseCycle(true); WordSpace.attackGauge.pauseCycle(true);
WordSpace.setPlayerTyping.add(wordText); WordSpace.setPlayerTyping.add(wordText);
BackGround.myCharacter.play(WordSpace.pyeongminAnims[Enums.characterAnim.attackWrite]); RoomData.myself.playerImage.play(WordSpace.pyeongminAnims[Enums.characterAnim.attackWrite]);
BackGround.myCharacter.anims.msPerFrame /= (4 - WordSpace.attackGauge.getAttackOption().wordGrade); RoomData.myself.playerImage.anims.msPerFrame /= (4 - WordSpace.attackGauge.getAttackOption().wordGrade);
} }
else // 오타 체크 else // 오타 체크
{ {
...@@ -403,31 +403,56 @@ WordSpace.attack = function(wordText, grade) ...@@ -403,31 +403,56 @@ WordSpace.attack = function(wordText, grade)
} }
else else
{ {
let target = RoomData.players.find(function(_element) {
return _element.id == element.ownerId;
});
let attackData = let attackData =
{ {
roomNum: RoomData.roomId, roomNum: RoomData.roomId,
attacker: RoomData.myself, attacker: RoomData.myself,
target: element.ownerId, victim: target,
text: wordText, text: wordText,
grade: grade, grade: grade,
isStrong: element.isStrong, isStrong: element.isStrong,
multiple: 1 multiple: 1
} }
WordSpace.makeAttackPaper(ScenesData.gameScene, RoomData.myself.position, target.position);
toSend.push(attackData); toSend.push(attackData);
} }
element.physicsObj.destroy(); element.physicsObj.destroy();
element.wordObj.destroy(); element.wordObj.destroy();
var attackPaper = ScenesData.gameScene.add.sprite(BackGround.myCharacter.x, BackGround.myCharacter.y, 'attackPapaer').setScale(0.5).setDepth(3); });
attackPaper.throwTarget = RoomData.players.find(function(_element) { toSend.forEach(function(element)
return _element.id == element.ownerId; {
}).playerImage; socket.emit('attack', element);
});
WordSpace.generateWord.Name(ScenesData.gameScene, false, null);
WordSpace.generateWord.Name(ScenesData.gameScene, false, null);
WordSpace.nameGroup = [];
WordSpace.attackGauge.resetValue();
WordSpace.setPlayerTyping.add(wordText);
RoomData.myself.playerImage.play(WordSpace.pyeongminAnims[Enums.characterAnim.throw]);
}
else WordSpace.attackGauge.cutValue(0.3);
Input.maxInput = 6;
Input.attackMode = false;
WordSpace.attackGauge.pauseCycle(false);
}
WordSpace.makeAttackPaper = function(scene, attackFrom, attackTo)
{
var attackPaper = scene.add.sprite(attackFrom.x, attackFrom.y, 'attackPapaer').setScale(0.5).setDepth(3);
attackPaper.throwTarget = attackTo;
console.log(attackTo);
attackPaper.follower = { t: 0, vec: new Phaser.Math.Vector2() }; attackPaper.follower = { t: 0, vec: new Phaser.Math.Vector2() };
attackPaper.path = new Phaser.Curves.Spline([ attackPaper.path = new Phaser.Curves.Spline([
BackGround.myCharacter.x, BackGround.myCharacter.y, attackFrom.x, attackFrom.y,
(BackGround.myCharacter.x + attackPaper.throwTarget.x) / 2, Math.min(BackGround.myCharacter.y, attackPaper.throwTarget.y) - 100, (attackFrom.x + attackPaper.throwTarget.x) / 2, Math.min(attackFrom.y, attackPaper.throwTarget.y) - 100,
attackPaper.throwTarget.x, attackPaper.throwTarget.y - 10 attackPaper.throwTarget.x, attackPaper.throwTarget.y - 10
]); ]);
ScenesData.gameScene.tweens.add({ scene.tweens.add({
targets: attackPaper.follower, targets: attackPaper.follower,
t: 1, t: 1,
ease: 'Linear', ease: 'Linear',
...@@ -442,26 +467,9 @@ WordSpace.attack = function(wordText, grade) ...@@ -442,26 +467,9 @@ WordSpace.attack = function(wordText, grade)
{ {
obj.path.getPoint(obj.follower.t, obj.follower.vec); obj.path.getPoint(obj.follower.t, obj.follower.vec);
obj.setPosition(obj.follower.vec.x, obj.follower.vec.y); obj.setPosition(obj.follower.vec.x, obj.follower.vec.y);
obj.angle = 720 * obj.follower.t;
} }
WordSpace.attackPaperGroup.push(attackPaper); WordSpace.attackPaperGroup.push(attackPaper);
});
toSend.forEach(function(element)
{
socket.emit('attack', element);
});
WordSpace.generateWord.Name(ScenesData.gameScene, false, null);
WordSpace.generateWord.Name(ScenesData.gameScene, false, null);
WordSpace.nameGroup = [];
WordSpace.attackGauge.resetValue();
WordSpace.setPlayerTyping.add(wordText);
BackGround.myCharacter.play(WordSpace.pyeongminAnims[Enums.characterAnim.throw]);
}
else WordSpace.attackGauge.cutValue(0.3);
Input.maxInput = 6;
Input.attackMode = false;
WordSpace.attackGauge.pauseCycle(false);
} }
WordSpace.nameQueue = WordSpace.nameQueue =
......
...@@ -94,12 +94,12 @@ io.on('connection', function(socket) ...@@ -94,12 +94,12 @@ io.on('connection', function(socket)
socket.on('attack', function(msg) socket.on('attack', function(msg)
{ {
socket.playerData.currentRoom.announceToTarget(msg.target, 'attacked', msg); socket.playerData.currentRoom.announceToTarget(msg.victim.id, 'attacked', msg);
socket.playerData.currentRoom.announceToRoom('attack', {attackerId: msg.attacker.id, targetId: msg.target}); socket.playerData.currentRoom.announceToRoom('attack', {attackerId: msg.attacker.id, targetId: msg.victim.id});
//console.log('attack ' + msg.target + ' by ' + msg.attacker.id + ' with ' + msg.text); //console.log('attack ' + msg.target + ' by ' + msg.attacker.id + ' with ' + msg.text);
setTimeout(function() setTimeout(function()
{ {
let target = GameServer.findPlayerSocket(msg.target); let target = GameServer.findPlayerSocket(msg.victim.id);
if (target != null) if (target != null)
{ {
let dataToPush = let dataToPush =
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment