Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
sejong25
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Tear of Sejong
sejong25
Commits
5e1181a8
Commit
5e1181a8
authored
Aug 22, 2019
by
18손재민
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
스킨 변경 기능 추가, 이제 내 스킨이 다른 사람에게도 보임
parent
8cf35085
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
38 additions
and
32 deletions
+38
-32
GameServer.js
GameServer.js
+1
-0
sunbi_sit.png
assets/image/character/sunbi/sunbi_sit.png
+0
-0
Background.js
js/Background.js
+2
-2
Client.js
js/Client.js
+3
-2
Enums.js
js/Enums.js
+1
-1
FirebaseClient.js
js/FirebaseClient.js
+3
-0
ResourceLoader.js
js/ResourceLoader.js
+7
-7
ScenesData.js
js/ScenesData.js
+2
-2
WordObject.js
js/WordObject.js
+8
-8
WordSpace.js
js/WordSpace.js
+6
-7
server.js
server.js
+5
-3
No files found.
GameServer.js
View file @
5e1181a8
...
...
@@ -362,6 +362,7 @@ class Player
this
.
killCount
=
0
;
this
.
earnedStrongHopae
=
0
;
this
.
attackSucceed
=
0
;
this
.
skin
=
playerData
.
skin
;
this
.
isAlive
=
false
;
this
.
isInThisRoom
=
true
;
...
...
assets/image/character/sunbi/sunbi_sit.png
View replaced file @
8cf35085
View file @
5e1181a8
107 KB
|
W:
|
H:
105 KB
|
W:
|
H:
2-up
Swipe
Onion skin
js/Background.js
View file @
5e1181a8
...
...
@@ -13,7 +13,7 @@ BackGround.otherCharacters = [];
BackGround
.
drawCharacter
=
function
(
scene
)
{
RoomData
.
myself
.
playerImage
=
scene
.
add
.
sprite
(
game
.
config
.
width
/
2
,
game
.
config
.
height
*
41
/
48
,
Enums
.
characterSkin
[
WordSpace
.
myCharacterS
kin
]
+
'
Write
'
)
RoomData
.
myself
.
playerImage
=
scene
.
add
.
sprite
(
game
.
config
.
width
/
2
,
game
.
config
.
height
*
41
/
48
,
Enums
.
characterSkin
[
PlayerData
.
userData
.
s
kin
]
+
'
Write
'
)
.
setScale
(
0.45
).
setDepth
(
5
);
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
()});
...
...
@@ -21,7 +21,7 @@ BackGround.drawCharacter = function(scene)
if
(
element
.
id
!=
RoomData
.
myself
.
id
)
{
element
.
position
=
BackGround
.
characterPos
.
pop
();
element
.
playerImage
=
scene
.
add
.
sprite
(
element
.
position
.
x
,
element
.
position
.
y
,
Enums
.
characterSkin
[
WordSpace
.
myCharacterS
kin
]
+
'
Write
'
)
element
.
playerImage
=
scene
.
add
.
sprite
(
element
.
position
.
x
,
element
.
position
.
y
,
Enums
.
characterSkin
[
element
.
s
kin
]
+
'
Write
'
)
.
setScale
(
0.315
).
setDepth
(
5
);
element
.
playerImage
.
flipX
=
element
.
position
.
x
<
game
.
config
.
width
/
2
?
true
:
false
;
element
.
nicknameText
=
scene
.
add
.
text
(
element
.
position
.
x
,
element
.
position
.
y
-
90
,
element
.
nickname
)
...
...
js/Client.js
View file @
5e1181a8
...
...
@@ -223,7 +223,7 @@ socket.on('defeat', function(msg) // object player
let
victim
=
RoomData
.
findPlayer
(
msg
.
id
);
RoomData
.
aliveCount
--
;
victim
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterS
kin
][
Enums
.
characterAnim
.
gameOver
]);
victim
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
victim
.
s
kin
][
Enums
.
characterAnim
.
gameOver
]);
if
(
msg
.
lastAttack
!=
null
)
...
...
@@ -442,7 +442,8 @@ var gameEndMenu = function(isWin)
x
:
game
.
config
.
width
/
2
,
y
:
game
.
config
.
height
/
2
,
choices
:
[
UIObject
.
createLabel
(
ScenesData
.
gameScene
,
game
.
config
.
width
/
2
-
150
,
game
.
config
.
height
/
2
-
100
,
10.2
,
'
playerStand
'
,
0.7
,
'
center
'
),
UIObject
.
createLabel
(
ScenesData
.
gameScene
,
game
.
config
.
width
/
2
-
150
,
game
.
config
.
height
/
2
-
100
,
10.2
,
Enums
.
characterSkin
[
PlayerData
.
userData
.
skin
]
+
'
Stand
'
,
0.7
,
'
center
'
),
UIObject
.
createLabel
(
ScenesData
.
gameScene
,
game
.
config
.
width
/
2
+
150
,
game
.
config
.
height
/
2
-
180
,
10.2
,
'
button
'
,
1
,
'
center
'
,
'
등수 :
'
+
RoomData
.
myself
.
rank
+
'
등
'
,
20
).
layout
(),
UIObject
.
createLabel
(
ScenesData
.
gameScene
,
game
.
config
.
width
/
2
+
150
,
game
.
config
.
height
/
2
-
60
,
10.2
,
...
...
js/Enums.js
View file @
5e1181a8
...
...
@@ -2,4 +2,4 @@ var Enums = Enums || {};
Enums
.
characterAnim
=
{
sit
:
0
,
write
:
1
,
notBurning
:
2
,
smallBurning
:
3
,
bigBurning
:
4
,
throw
:
5
,
hit
:
6
,
gameOver
:
7
}
Enums
.
item
=
{
invincible
:
"
무적
"
,
nameList
:
"
명단
"
,
charge
:
"
충전
"
,
clean
:
"
청소
"
,
heavy
:
"
중량
"
,
dark
:
"
암흑
"
}
Enums
.
characterSkin
=
[
"
pyeongmin
"
,
"
yangban
"
]
\ No newline at end of file
Enums
.
characterSkin
=
[
"
pyeongmin
"
,
"
sunbi
"
]
\ No newline at end of file
js/FirebaseClient.js
View file @
5e1181a8
...
...
@@ -233,6 +233,8 @@ FirebaseClient.prototype.updateUserData = function(key, valueChanged, replace =
case
'
killCount
'
:
beforeData
.
killCount
=
replace
?
(
valueChanged
)
:
(
beforeData
.
killCount
+
valueChanged
);
break
;
case
'
skin
'
:
beforeData
.
skin
=
valueChanged
;
default
:
console
.
log
(
'
[ERROR] database has no key for
'
+
key
);
break
;
...
...
@@ -283,5 +285,6 @@ class UserData
this
.
money
=
0
;
this
.
item
=
[
0
];
this
.
killCount
=
0
;
this
.
skin
=
1
;
}
}
\ No newline at end of file
js/ResourceLoader.js
View file @
5e1181a8
...
...
@@ -40,13 +40,13 @@ ResourceLoader.loadImage = function(scene)
scene
.
load
.
spritesheet
(
'
pyeongminGameOver
'
,
'
assets/image/character/pyeongmin/balladang/pyeong_balladang.png
'
,
{
frameWidth
:
720
,
frameHeight
:
700
});
scene
.
load
.
image
(
'
pyeongminStand
'
,
'
assets/image/character/pyeongmin/pyeong_stand.png
'
);
scene
.
load
.
spritesheet
(
'
yangbanSit
'
,
'
assets/image/character/pyeongmin/pyeong
_sit.png
'
,
{
frameWidth
:
521
,
frameHeight
:
610
});
scene
.
load
.
spritesheet
(
'
yangbanWrite
'
,
'
assets/image/character/pyeongmin/write/pyeong
_write.png
'
,
{
frameWidth
:
521
,
frameHeight
:
610
});
scene
.
load
.
spritesheet
(
'
yangbanThrow
'
,
'
assets/image/character/pyeongmin/throw/pyeong
_throw.png
'
,
{
frameWidth
:
521
,
frameHeight
:
610
});
scene
.
load
.
spritesheet
(
'
yangbanBurningSmall
'
,
'
assets/image/character/pyeongmin/burning/pyeong
_burning_small.png
'
,
{
frameWidth
:
521
,
frameHeight
:
610
});
scene
.
load
.
spritesheet
(
'
yangbanBurningBig
'
,
'
assets/image/character/pyeongmin/burning/pyeong
_burning_big.png
'
,
{
frameWidth
:
521
,
frameHeight
:
610
});
scene
.
load
.
spritesheet
(
'
yangbanGameOver
'
,
'
assets/image/character/pyeongmin/balladang/pyeong_balladang
.png
'
,
{
frameWidth
:
720
,
frameHeight
:
700
});
scene
.
load
.
image
(
'
yangbanStand
'
,
'
assets/image/character/pyeongmin/pyeong
_stand.png
'
);
scene
.
load
.
spritesheet
(
'
sunbiSit
'
,
'
assets/image/character/sunbi/sunbi
_sit.png
'
,
{
frameWidth
:
521
,
frameHeight
:
610
});
scene
.
load
.
spritesheet
(
'
sunbiWrite
'
,
'
assets/image/character/sunbi/sunbi
_write.png
'
,
{
frameWidth
:
521
,
frameHeight
:
610
});
scene
.
load
.
spritesheet
(
'
sunbiThrow
'
,
'
assets/image/character/sunbi/sunbi
_throw.png
'
,
{
frameWidth
:
521
,
frameHeight
:
610
});
scene
.
load
.
spritesheet
(
'
sunbiBurningSmall
'
,
'
assets/image/character/sunbi/sunbi
_burning_small.png
'
,
{
frameWidth
:
521
,
frameHeight
:
610
});
scene
.
load
.
spritesheet
(
'
sunbiBurningBig
'
,
'
assets/image/character/sunbi/sunbi
_burning_big.png
'
,
{
frameWidth
:
521
,
frameHeight
:
610
});
scene
.
load
.
spritesheet
(
'
sunbiGameOver
'
,
'
assets/image/character/sunbi/sunbi_die
.png
'
,
{
frameWidth
:
720
,
frameHeight
:
700
});
scene
.
load
.
image
(
'
sunbiStand
'
,
'
assets/image/character/sunbi/sunbi
_stand.png
'
);
scene
.
load
.
spritesheet
(
'
wordBreak
'
,
'
assets/image/word/wordbreak.png
'
,
{
frameWidth
:
180
,
frameHeight
:
180
});
scene
.
load
.
spritesheet
(
'
hopaeSceneInput
'
,
'
assets/image/word/hopaeSceneInput.png
'
,
{
frameWidth
:
239
,
frameHeight
:
45
});
...
...
js/ScenesData.js
View file @
5e1181a8
...
...
@@ -136,7 +136,7 @@ var menuScene = new Phaser.Class(
this
.
organizeHopae
();
this
.
createCurrentHopae
();
this
.
myCharacter
=
this
.
add
.
sprite
(
game
.
config
.
width
/
2
,
game
.
config
.
height
/
2
,
Enums
.
characterSkin
[
WordSpace
.
myCharacterS
kin
]
+
'
Stand
'
)
this
.
myCharacter
=
this
.
add
.
sprite
(
game
.
config
.
width
/
2
,
game
.
config
.
height
/
2
,
Enums
.
characterSkin
[
PlayerData
.
userData
.
s
kin
]
+
'
Stand
'
)
.
setOrigin
(
0.5
,
0.5
).
setDepth
(
5
).
setScale
(
0.8
);
this
.
roomEnterDialog
=
this
.
rexUI
.
add
.
dialog
({
...
...
@@ -171,7 +171,7 @@ var menuScene = new Phaser.Class(
this
.
roomEnterDialog
.
on
(
'
button.click
'
,
function
(
button
,
groupName
,
index
)
{
if
(
index
==
0
)
socket
.
emit
(
'
enterRoom
'
,
PlayerData
.
nickname
);
if
(
index
==
0
)
socket
.
emit
(
'
enterRoom
'
,
{
nickname
:
PlayerData
.
nickname
,
skin
:
PlayerData
.
userData
.
skin
}
);
else
{
this
.
roomEnterDialog
.
setVisible
(
false
);
...
...
js/WordObject.js
View file @
5e1181a8
...
...
@@ -109,8 +109,8 @@ class NormalWord extends WordObject
if
(
isNormallyRemoved
)
{
Audio
.
playSound
(
ScenesData
.
gameScene
,
'
killWord
'
);
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterS
kin
][
Enums
.
characterAnim
.
write
]);
RoomData
.
myself
.
playerImage
.
anims
.
chain
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterS
kin
][
Enums
.
characterAnim
.
sit
]);
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
PlayerData
.
userData
.
s
kin
][
Enums
.
characterAnim
.
write
]);
RoomData
.
myself
.
playerImage
.
anims
.
chain
(
WordSpace
.
characterAnims
[
PlayerData
.
userData
.
s
kin
][
Enums
.
characterAnim
.
sit
]);
switch
(
this
.
wordGrade
)
{
case
0
:
WordSpace
.
attackGauge
.
add
(
2.5
);
break
;
...
...
@@ -191,8 +191,8 @@ class AttackWord extends WordObject
if
(
isNormallyRemoved
)
{
Audio
.
playSound
(
ScenesData
.
gameScene
,
'
killWord
'
);
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterS
kin
][
Enums
.
characterAnim
.
write
]);
RoomData
.
myself
.
playerImage
.
anims
.
chain
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterS
kin
][
Enums
.
characterAnim
.
sit
]);
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
PlayerData
.
userData
.
s
kin
][
Enums
.
characterAnim
.
write
]);
RoomData
.
myself
.
playerImage
.
anims
.
chain
(
WordSpace
.
characterAnims
[
PlayerData
.
userData
.
s
kin
][
Enums
.
characterAnim
.
sit
]);
switch
(
this
.
wordGrade
)
{
case
0
:
WordSpace
.
attackGauge
.
add
(
2.5
);
break
;
...
...
@@ -273,8 +273,8 @@ class NameWord extends WordObject
if
(
isNormallyRemoved
)
{
Audio
.
playSound
(
ScenesData
.
gameScene
,
'
killWord
'
);
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterS
kin
][
Enums
.
characterAnim
.
write
]);
RoomData
.
myself
.
playerImage
.
anims
.
chain
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterS
kin
][
Enums
.
characterAnim
.
sit
]);
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
PlayerData
.
userData
.
s
kin
][
Enums
.
characterAnim
.
write
]);
RoomData
.
myself
.
playerImage
.
anims
.
chain
(
WordSpace
.
characterAnims
[
PlayerData
.
userData
.
s
kin
][
Enums
.
characterAnim
.
sit
]);
ScenesData
.
gameScene
.
physics
.
world
.
removeCollider
(
this
.
physicsObj
.
wordCollider
);
WordSpace
.
wordGroup
.
forEach
(
function
(
element
)
{
...
...
@@ -357,8 +357,8 @@ class ItemWord extends WordObject
if
(
isNormallyRemoved
)
{
Audio
.
playSound
(
ScenesData
.
gameScene
,
'
killWord
'
);
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterS
kin
][
Enums
.
characterAnim
.
write
]);
RoomData
.
myself
.
playerImage
.
anims
.
chain
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterS
kin
][
Enums
.
characterAnim
.
sit
]);
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
PlayerData
.
userData
.
s
kin
][
Enums
.
characterAnim
.
write
]);
RoomData
.
myself
.
playerImage
.
anims
.
chain
(
WordSpace
.
characterAnims
[
PlayerData
.
userData
.
s
kin
][
Enums
.
characterAnim
.
sit
]);
WordSpace
.
attackGauge
.
add
(
0.5
);
switch
(
this
.
itemType
)
{
...
...
js/WordSpace.js
View file @
5e1181a8
...
...
@@ -14,7 +14,6 @@ WordSpace.pyeongminAnims = [];
WordSpace
.
characterAnims
=
Array
(
2
).
fill
(
null
).
map
(()
=>
Array
());
WordSpace
.
myCharacterSkin
=
0
;
WordSpace
.
wordGroup
=
[];
WordSpace
.
nameGroup
=
[];
...
...
@@ -280,16 +279,16 @@ WordSpace.findWord = function(wordText)
switch
(
tempAttackOption
.
wordCount
)
{
case
2
:
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterS
kin
][
Enums
.
characterAnim
.
notBurning
]);
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
PlayerData
.
userData
.
s
kin
][
Enums
.
characterAnim
.
notBurning
]);
break
;
case
3
:
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterS
kin
][
Enums
.
characterAnim
.
smallBurning
]);
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
PlayerData
.
userData
.
s
kin
][
Enums
.
characterAnim
.
smallBurning
]);
break
;
case
4
:
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterS
kin
][
Enums
.
characterAnim
.
smallBurning
]);
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
PlayerData
.
userData
.
s
kin
][
Enums
.
characterAnim
.
smallBurning
]);
break
;
case
5
:
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterS
kin
][
Enums
.
characterAnim
.
bigBurning
]);
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
PlayerData
.
userData
.
s
kin
][
Enums
.
characterAnim
.
bigBurning
]);
break
;
default
:
console
.
log
(
'
Improper attack option.
'
);
...
...
@@ -399,8 +398,8 @@ WordSpace.attack = function(wordText, grade)
WordSpace
.
attackGauge
.
resetValue
();
WordSpace
.
setPlayerTyping
.
add
(
wordText
);
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterS
kin
][
Enums
.
characterAnim
.
throw
]);
RoomData
.
myself
.
playerImage
.
anims
.
chain
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterS
kin
][
Enums
.
characterAnim
.
sit
]);
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
PlayerData
.
userData
.
s
kin
][
Enums
.
characterAnim
.
throw
]);
RoomData
.
myself
.
playerImage
.
anims
.
chain
(
WordSpace
.
characterAnims
[
PlayerData
.
userData
.
s
kin
][
Enums
.
characterAnim
.
sit
]);
Input
.
attackOption
.
isHeavy
=
false
;
Input
.
attackOption
.
isDark
=
false
;
}
...
...
server.js
View file @
5e1181a8
...
...
@@ -29,6 +29,7 @@ io.on('connection', function(socket)
{
id
:
GameServer
.
getPlayerNumber
(),
nickname
:
'
게스트
'
,
skin
:
0
,
currentRoom
:
null
,
playingData
:
null
,
isReceivable
:
false
...
...
@@ -45,11 +46,12 @@ io.on('connection', function(socket)
socket
.
on
(
'
enterRoom
'
,
function
(
msg
)
// string new_nickname
{
if
(
msg
.
length
<
1
)
socket
.
emit
(
'
alert
'
,
'
errNicknameEmpty
'
);
if
(
msg
.
nickname
.
length
<
1
)
socket
.
emit
(
'
alert
'
,
'
errNicknameEmpty
'
);
else
{
socket
.
playerData
.
nickname
=
msg
;
console
.
log
(
new
Date
().
toLocaleTimeString
(
'
ko-KR
'
)
+
'
[
'
+
socket
.
playerData
.
id
+
'
] nickname set to
'
+
msg
);
socket
.
playerData
.
nickname
=
msg
.
nickname
;
socket
.
playerData
.
skiin
=
msg
.
skin
;
console
.
log
(
new
Date
().
toLocaleTimeString
(
'
ko-KR
'
)
+
'
[
'
+
socket
.
playerData
.
id
+
'
] nickname set to
'
+
msg
.
nickname
);
GameServer
.
enterEmptyRoom
(
socket
);
}
});
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment