Field
์๊ฐ
ํ๋ ์ด์ด์ ๊ด๋ จ๋ ์์ฑ ๊ฐ๋ค ์ ๋๋ค.
ํ๋ ์ด์ด์ ๋๋ค์(name), ์์น(tileX / tileY) ๋ฑ์ ์กฐํํ๊ฑฐ๋ ํ๋ ์ด์ด์๊ฒ ์คํ๋ผ์ดํธ(spotlight), ์๋ณด์(hidden) ๊ธฐ๋ฅ์ ํ์ฑํ ํ ์ ์์ผ๋ฉฐ, ์บ๋ฆญํฐ์ ์ด๋์๋(moveSpeed), ์ด๋ฏธ์ง(sprite)๋ฅผ ๋ณ๊ฒฝํ๊ฑฐ๋ ํ๋ ์ด์ด์ ์ ์ฅ๊ณต๊ฐ(storage)์ ํ์ฉํ ์๋ ์์ต๋๋ค.
๐ ์์ด์ฝ์ด ์๋ ํ๋๋ ์์ ์ด ๋ถ๊ฐ๋ฅํ ์ฝ๊ธฐ ์ ์ฉ ํ๋์ ๋๋ค.
๐ id
ํ๋ ์ด์ด์ id ๊ฐ
name
ํ๋ ์ด์ด์ ๋๋ค์ ๊ฐ
title
์๋ฐํ ๋๋ค์ ์์ ๋ ธ๋์์ผ๋ก ๋ ธ์ถ๋๋ ํ ์คํธ
๐ role
ํ๋ ์ด์ด์ ๊ถํ์ ๋ํ๋ด๋ ์ซ์ ๊ฐ
๐ tileX / tileY
์๋ฐํ๊ฐ ์์๋ X ์ขํ ๊ฐ๊ณผ Y ์ขํ ๊ฐ
๐ dir
์๋ฐํ๊ฐ ๋ฐ๋ผ๋ณด๊ณ ์๋ ๋ฐฉํฅ ๊ฐ
moveSpeed
ํ๋ ์ด์ด์ ์ด๋์๋ ๊ฐ
sprite
์๋ฐํ์ ์คํ๋ผ์ดํธ ์ด๋ฏธ์ง ๊ฐ
tag
ํ์ํ ์์ฑ ๊ฐ์ ๋ถ์ฌ ๊ฐ๋ฅํ ๊ฐ ์ ์ฅ ๊ณต๊ฐ
hidden
๊ฐ์ด true ์ด๋ฉด, ๋ค๋ฅธ ํ๋ ์ด์ด์๊ฒ ๋ณด์ด์ง ์์ต๋๋ค.
spotlight
ํ๋ ์ด์ด์ ์คํ๋ผ์ดํธ ๊ธฐ๋ฅ ํ์ฑํ ์ฌ๋ถ
attackType
ํ๋ ์ด์ด์ ๊ณต๊ฒฉ(Zํค) ํ์
attackSprite
ํ๋ ์ด์ด์ ๊ณต๊ฒฉ(Zํค) ์ด๋ฏธ์ง ๊ฐ
attackParam1
๊ณต๊ฒฉ ์ด๋ฏธ์ง๊ฐ ๋ ์๊ฐ๋ ๊ฑฐ๋ฆฌ ๊ฐ
attackParam2
๊ณต๊ฒฉ ๊ฐ๋ฅ ๊ฑฐ๋ฆฌ ๊ฐ attackType์ด 2(์๊ฑฐ๋ฆฌ ๊ณต๊ฒฉ)์ผ๋ก ์ค์ ๋ ๊ฒฝ์ฐ์๋ง ์ ํจ
๐ walletAddress
ํ๋ ์ด์ด์ ์ ์์ง๊ฐ ์ฃผ์ ๊ฐ
storage
์คํ์ด์ค ๋ด์ Player ๊ฐ ์ ์ฅ ๊ณต๊ฐ(์คํ์ด์ค ํ์ )
๐ isMobile
ํ๋ ์ด์ด์ ๋ชจ๋ฐ์ผ ์ ์์ฌ๋ถ
๐ isMoving
ํ๋ ์ด์ด๊ฐ ์์ง์ด๊ณ ์์ผ๋ฉด True, ์๋๋ฉด False๋ฅผ ๋ฐํ
๐ isJumping
ํ๋ ์ด์ด๊ฐ ์ ํํ๊ณ ์์ผ๋ฉด True, ์๋๋ฉด False๋ฅผ ๋ฐํ
๐ customData
URL ์ฟผ๋ฆฌ ์คํธ๋ง์ ์ฝ์ด ๊ฐ์ ์ ์ฅ ํ ์ ์์ต๋๋ค.
displayRatio
ํ๋ ์ด์ด์ ํ๋ฉด ์ค ๋น์จ์ ์กฐ์ ํ ์ ์์ต๋๋ค.
titleColor
ํ๋ ์ด์ด์ ํ์ดํ ์์
๐ emailHash
ํ๋ ์ด์ด์ ์ด๋ฉ์ผ Hash ๊ฐ
๐ isGuest
๋น๋ก๊ทธ์ธ ํ๋ ์ด์ด์ธ ๊ฒฝ์ฐ true ๊ฐ์ ๊ฐ์ง๋๋ค.
๐ language
ํ๋ ์ด์ด์ ๋ธ๋ผ์ฐ์ ์์ ์ฌ์ฉํ๋ ์ธ์ด ์ค์ ๊ฐ
๐ away
5๋ถ ์ด์ ๋นํ์ฑํ๋ ์ ์ ์ธ ๊ฒฝ์ฐ true๊ฐ์ ๊ฐ์ง๋๋ค.
enableFreeView
๋งต ๋๋ฌ๋ณด๊ธฐ ํ์ฉ ์ฌ๋ถ๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
๐ API ์ค๋ช
๋ฐ ์์
id , name
ํ๋ ์ด์ด์ id, ๋๋ค์ ๊ฐ์ ๊ฐ์ ธ์ต๋๋ค.
์์
ํ๋ ์ด์ด๊ฐ ์ ์ฅ ํ ๋ ํ๋ ์ด์ด์ id, name ๊ฐ ์ถ๋ ฅํด๋ณด๊ธฐ
// ํ๋ ์ด์ด๊ฐ ์
์ฅํ ๋ ๋์ํ๋ ํจ์
App.onJoinPlayer.Add(function(player){
App.sayToAll(`id: ${player.id} name: ${player.name}`);
})title
title์ ์บ๋ฆญํฐ ๋๋ค์ ์์ ๋ ธ๋์์ผ๋ก ๋ ธ์ถ๋๋ ํ ์คํธ์ ๋๋ค.
์์
ํ๋ ์ด์ด๊ฐ ์ ์ฅ ํ ๋ title ์ค์ ํด๋ณด๊ธฐ
// ํ๋ ์ด์ด๊ฐ ์
์ฅํ ๋ ๋์ํ๋ ํจ์
App.onJoinPlayer.Add(function(player){
player.title = "ํ์ดํ";
player.sendUpdated();
})role
role์ ํ๋ ์ด์ด์ ๊ถํ์ ๋ํ๋ด๋ ์ซ์ ๊ฐ ์ ๋๋ค.
ํ๋ ์ด์ด์ role์ ๋ฐ๋ผ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ ์ถ๋ ฅํฉ๋๋ค.
๋ฉค๋ฒ
0
๊ด๋ฆฌ์
3000
์๋ํฐ
1000
๋งต์์ ์
3001
์์
๊ถํ ๊ฐ์ ์ฑํ ์ฐฝ์ ํ์ํด๋ณด๊ธฐ
// q ํค๋ฅผ ๋๋ฅด๋ฉด ๋์ํ๋ ํจ์
// App.addOnKeyDown
App.addOnKeyDown(81,function(player){
App.sayToAll(`${player.name}๋์ ๊ถํ: ${player.role}`)
})tileX, tileY
ํ๋ ์ด์ด์ ์บ๋ฆญํฐ๊ฐ ์์๋ X ์ขํ ๊ฐ๊ณผ Y ์ขํ ๊ฐ์ ๋๋ค.
์์
๋ด ์บ๋ฆญํฐ์ x, y ์ขํ ์ถ๋ ฅํด๋ณด๊ธฐ
// q ํค๋ฅผ ๋๋ฅด๋ฉด ๋์ํ๋ ํจ์
// App.addOnKeyDown
App.addOnKeyDown(81,function(player){
App.sayToAll(`ํ์ฌ ์ขํ: (${player.tileX}, ${player.tileY})`)
})dir
ํ๋ ์ด์ด์ ์บ๋ฆญํฐ๊ฐ ๋ฐ๋ผ๋ณด๊ณ ์๋ ๋ฐฉํฅ์ ๋๋ค.
์บ๋ฆญํฐ๊ฐ ๋ฐ๋ผ๋ณด๊ณ ์๋ ๋ฐฉํฅ์ ๋ฐ๋ผ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ ์ถ๋ ฅํฉ๋๋ค.


์์
์บ๋ฆญํฐ๊ฐ ๋ฐ๋ผ๋ณด๊ณ ์๋ ๋ฐฉํฅ์ ์ถ๋ ฅํด๋ณด๊ธฐ
// q ํค๋ฅผ ๋๋ฅด๋ฉด ๋์ํ๋ ํจ์
// App.addOnKeyDown
App.addOnKeyDown(81,function(player){
App.sayToAll(`๋ฐ๋ผ๋ณด๊ณ ์๋ ๋ฐฉํฅ: ${player.dir}`)
})moveSpeed
ํ๋ ์ด์ด์ ์ด๋์๋ ๊ฐ์ ๋๋ค.( ๊ธฐ๋ณธ ๊ฐ: 80 )
์ด๋์๋ ๊ฐ์ด 0์ด๋ฉด ์์ง์ผ ์ ์์ต๋๋ค.
์์
q ํค๋ฅผ ๋๋ฅด๋ฉด ์ด๋์๋๊ฐ ๋นจ๋ผ์ง๋ ํจ์ ๋ง๋ค์ด๋ณด๊ธฐ
// q ํค๋ฅผ ๋๋ฅด๋ฉด ๋์ํ๋ ํจ์
// App.addOnKeyDown
App.addOnKeyDown(81,function(player){
player.moveSpeed = 150;
player.sendUpdated();
})sprite
ํ๋ ์ด์ด ์บ๋ฆญํฐ์ ์คํ๋ผ์ดํธ ์ด๋ฏธ์ง์ ๋๋ค. ( null ์ ๋ ฅ ์ ๊ธฐ๋ณธ ์๋ฐํ ์ด๋ฏธ์ง๋ก ์ด๊ธฐํ )
์คํ๋ผ์ดํธ ์ด๋ฏธ์ง๋ฅผ ์ฒ์ ๋ค์ด๋ณด์ ๋ค๋ฉด ์คํ๋ผ์ดํธ์ํธ ์ดํดํ๊ธฐ ๋ฌธ์๋ฅผ ํ์ธํด๋ณด์ธ์!
์์
ํ์ธํธ๋งจ - ๋ธ๋ฃจ๋งจ ์ด๋ฏธ์ง๋ฅผ ์บ๋ฆญํฐ ์ด๋ฏธ์ง๋ก ์ ์ฉํด๋ณด๊ธฐ

// ํ ํ๋ ์์ ์ฌ์ด์ฆ 48x64
let blueman = App.loadSpritesheet('blueman.png', 48, 64, {
left: [5, 6, 7, 8, 9], // ์ข๋ฐฉํฅ ์ด๋ ์ด๋ฏธ์ง
up: [15, 16, 17, 18, 19],
down: [0, 1, 2, 3, 4],
right: [10, 11, 12, 13, 14],
dance: [20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],
down_jump: [38],
left_jump: [39],
right_jump: [40],
up_jump: [41],
}, 8);
// ํ๋ ์ด์ด๊ฐ ์
์ฅํ๋ฉด ์บ๋ฆญํฐ ์ด๋ฏธ์ง๊ฐ ๋ฐ๋
App.onJoinPlayer.Add(function(player){
player.sprite = blueman;
player.sendUpdated();
});tag
tag๋ฅผ ์ฌ์ฉํด ํ๋ ์ด์ด์๊ฒ ํ์ํ ์์ฑ ๊ฐ์ ๋ถ์ฌ ํ ์ ์์ต๋๋ค.
์์
ํ๋ ์ด์ด์๊ฒ โaliveโ ์์ฑ ๊ฐ ๋ถ์ฌํด๋ณด๊ธฐ. โaliveโ ์์ฑ ๊ฐ์ ์์๋ก ์์ฑํ ์์ฑ ์ ๋๋ค.
์ฐ์ด์ง ์๋๋ค๋ฉด ์๋ฌด ์๋ฏธ ์๋ ์์ฑ ๊ฐ ์ด์ง๋ง, ๊ฒ์์ ๋ง๋ค ๋ ํ๋ ์ด์ด์ ์์กด ์ฌ๋ถ๋ฅผ ์ฒดํฌํ๋ ์ค์ํ ์์ฑ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
// ํ๋ ์ด์ด๊ฐ ์
์ฅํ ๋ ๋์ํ๋ ํจ์
App.onJoinPlayer.Add(function (player) {
player.tag = {
alive: true,
};
player.sendUpdated();
App.sayToAll(`alive: ${player.tag.alive}`);
});hidden
hidden ๊ฐ์ด true ์ด๋ฉด, ํด๋น ํ๋ ์ด์ด๋ ๋ค๋ฅธ ํ๋ ์ด์ด์๊ฒ ๋ณด์ด์ง ์์ต๋๋ค.
โ ๏ธ hidden์ธ ์ํ์์ ๋ชจ์ต์ ๋ณด์ด์ง ์์ง๋ง, ์ค๋์ค์ ๋น๋์ค ์ฐ๊ฒฐ์ ๋ฉ๋๋ค.
์์
์บ๋ฆญํฐ์๊ฒ hidden ์์ฑ์ ๋ถ์ฌํด์ ๋ค๋ฅธ ํ๋ ์ด์ด์๊ฒ ์ ๋ณด์ด๊ฒ ํด๋ณด๊ธฐ
// q ํค๋ฅผ ๋๋ฅด๋ฉด ๋์ํ๋ ํจ์
// App.addOnKeyDown
App.addOnKeyDown(81,function(player){
player.hidden = true;
player.sendUpdated();
});spotlight
ํ๋ ์ด์ด์ ์คํ ๋ผ์ดํธ ๊ธฐ๋ฅ ํ์ฑํ ์ฌ๋ถ์ ๋๋ค.
์์
q ํค๋ฅผ ๋๋ฅด๋ฉด ์คํ ๋ผ์ดํธ ๊ธฐ๋ฅ์ ON/OFF ํ๋ ํจ์ ๋ง๋ค์ด๋ณด๊ธฐ
// q ํค๋ฅผ ๋๋ฅด๋ฉด ๋์ํ๋ ํจ์
// App.addOnKeyDown
App.addOnKeyDown(81,function(player){
if(player.spotlight){
player.spotlight = false;
}
else{
player.spotlight = true;
}
player.sendUpdated();
});attackType
ํ๋ ์ด์ด์ ๊ณต๊ฒฉ(Zํค) ํ์ ์ ๋๋ค. ( ๊ธฐ๋ณธ: 0 )
0
attackType์ ์ค์ ํ์ง ์์์ ๋ ๊ธฐ๋ณธ ๊ณต๊ฒฉ ํ์ ์ ์๋ฏธํฉ๋๋ค.
2
์๊ฑฐ๋ฆฌ ๊ณต๊ฒฉ ํ์ ์ ๋๋ค. attackParam2์ ํจ๊ป ์ค์ ํ ๋ ์ ํจํฉ๋๋ค.
์์
์บ๋ฆญํฐ์ attackType ๋ณ๊ฒฝํด๋ณด๊ธฐ
// q ํค๋ฅผ ๋๋ฅด๋ฉด ๋์ํ๋ ํจ์
// App.addOnKeyDown
App.addOnKeyDown(81, function (player) {
player.attackType = 0;
App.sayToAll(`attackType: ${player.attackType}`);
player.sendUpdated();
});attackParam1
๊ณต๊ฒฉ(Zํค) ์ด๋ฏธ์ง๊ฐ ๋ ์๊ฐ๋ ๊ฑฐ๋ฆฌ ์์ฑ์ ๋๋ค. ๊ณต๊ฒฉ ๊ฐ๋ฅ ๊ฑฐ๋ฆฌ๋ ๋์ด๋์ง ์์ต๋๋ค.
์์
attackParam1 ๋ณ๊ฒฝํด๋ณด๊ธฐ

// q ํค๋ฅผ ๋๋ฅด๋ฉด ๋์ํ๋ ํจ์
// App.addOnKeyDown
App.addOnKeyDown(81, function (player) {
player.attackType = 0;
player.attackParam1 = 10;
App.sayToAll(`attackType: ${player.attackType}`);
App.sayToAll(`attackParam1: ${player.attackParam1}`);
player.sendUpdated();
});attackParam2
๊ณต๊ฒฉ ๊ฐ๋ฅ ๊ฑฐ๋ฆฌ ์์ฑ์ ๋๋ค. attackType์ด ์๊ฑฐ๋ฆฌ ๊ณต๊ฒฉ์ผ๋ก ์ค์ ๋ ๊ฒฝ์ฐ์๋ง ์ ํจํฉ๋๋ค.
์์
attackParam2 ์ด์ฉํด ์๊ฑฐ๋ฆฌ ๊ณต๊ฒฉ ์ค์ ํด๋ณด๊ธฐ.

// q ํค๋ฅผ ๋๋ฅด๋ฉด ๋์ํ๋ ํจ์
// App.addOnKeyDown
App.addOnKeyDown(81, function (player) {
player.attackType = 2;
player.attackParam2 = 5;
App.sayToAll(`attackType: ${player.attackType}`);
App.sayToAll(`attackParam2: ${player.attackParam2}`);
player.sendUpdated();
});attackSprite
๊ณต๊ฒฉ(Zํค) ์ด๋ฏธ์ง๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
์์
๊ณต๊ฒฉ ์ด๋ฏธ์ง ์ ์ฉํด๋ณด๊ธฐ




// ๋จ์ผ ์ด๋ฏธ์ง์ ๊ฒฝ์ฐ
let redBoxing = App.loadSpritesheet("redBoxing.png");
App.onJoinPlayer.Add(function (player) {
player.attackSprite = redBoxing;
player.sendUpdated();
});// ์ฐ์๋ ์ด๋ฏธ์ง์ ๊ฒฝ์ฐ
let attackSprite = App.loadSpritesheet("attack_sprite.png", 32, 32, [0, 1, 2], 3);
App.onJoinPlayer.Add(function (player) {
player.attackSprite = attackSprite;
player.sendUpdated();
});// ๋ฐฉํฅ๋ณ ์ ๋๋ฉ์ด์
์ ์ ์ฉํ๋๊ฒฝ์ฐ
let attackSprite = App.loadSpritesheet(
"animation_sprite.png", // ์ด๋ฏธ์ง ํ์ผ๋ช
48, 48, // ์ด๋ฏธ์ง ํ๋ ์ ์ฌ์ด์ฆ
{
left: [0, 1, 2, 3, 4, 5], // ์ข์ธก์ ๋ณด๊ณ ๊ณต๊ฒฉํ๋ ๊ฒฝ์ฐ
right: [6, 7, 8, 9, 10, 11], // ์ฐ์ธก์ ๋ณด๊ณ ๊ณต๊ฒฉํ๋ ๊ฒฝ์ฐ
down: [12, 13, 14, 15, 16, 17], // ์๋ฅผ ๋ณด๊ณ ๊ณต๊ฒฉํ๋ ๊ฒฝ์ฐ
up: [18, 19, 20, 21, 22, 23], // ์๋๋ฅผ ๋ณด๊ณ ๊ณต๊ฒฉํ๋ ๊ฒฝ์ฐ
},
6
);
App.onJoinPlayer.Add(function (player) {
player.attackSprite = attackSprite;
player.sendUpdated();
});walletAddress
ํ๋ ์ด์ด์ ์ ์์ง๊ฐ ์ฃผ์์ ๋๋ค.
์์
์ ์์ง๊ฐ ์ฃผ์ ์ถ๋ ฅํด๋ณด๊ธฐ ( ์ ์์ง๊ฐ ์ฃผ์๊ฐ ์์ ๊ฒฝ์ฐ null์ด ์ถ๋ ฅ )
// q ํค๋ฅผ ๋๋ฅด๋ฉด ๋์ํ๋ ํจ์
// App.addOnKeyDown
App.addOnKeyDown(81, function (player) {
App.sayToAll(`${player.walletAddress}`)
});storage
์คํ์ด์ค ๋ด์ Player ๊ฐ ์ ์ฅ ๊ณต๊ฐ ์ ๋๋ค (์คํ์ด์ค ํ์ )
์์
ํ๋ ์ด์ด storage์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ , ํ์ธํด๋ณด๊ธฐ
๐ก ์ฑ์ ์ข ๋ฃํ๋ค๊ฐ ๋ค์ ์ผ๋ ์ ์ฅ๋ ๊ฐ์ด ์ฌ๋ผ์ง์ง ์์ต๋๋ค.
// q ํค๋ฅผ ๋๋ฅด๋ฉด ๋์ํ๋ ํจ์
// App.addOnKeyDown
App.addOnKeyDown(81,function(player){
player.storage = "data";
player.save(); // storage์ ๊ฐ์ด ๋ณ๊ฒฝ๋๋ฉด player.save()๋ก ๋ณ๊ฒฝ๊ฐ์ ์ ์ฉ
})
// w ํค๋ฅผ ๋๋ฅด๋ฉด ๋์ํ๋ ํจ์
App.addOnKeyDown(87,function(player){
App.sayToAll(player.storage); // player storage์ ์ ์ฅ๋ ๊ฐ์ ์ฑํ
์ฐฝ์ ์ถ๋ ฅ
})isMobile
ํ๋ ์ด์ด์ ๋ชจ๋ฐ์ผ ์ ์ ์ฌ๋ถ๋ฅผ true/false ๋ก ์ถ๋ ฅํฉ๋๋ค.
์์
ํ๋ ์ด์ด๊ฐ ์ ์ฅ ํ ๋ ์ ์ฅ๋ฉ์์ง์ ๋ชจ๋ฐ์ผ/PC ํ์ํด๋ณด๊ธฐ
// ํ๋ ์ด์ด๊ฐ ์
์ฅํ ๋ ๋์ํ๋ ํจ์
App.onJoinPlayer.Add(function(player){
if(player.isMobile){
App.sayToAll(`${player.name}๋์ด ๋ชจ๋ฐ์ผ์์ ์ ์ํ์ต๋๋ค.`)
} else{
App.sayToAll(`${player.name}๋์ด PC์์ ์ ์ํ์ต๋๋ค.`)
}
});isMoving
ํ๋ ์ด์ด๊ฐ ์์ง์ด๊ณ ์์ผ๋ฉด True, ์๋๋ฉด False๋ฅผ ๋ฐํํฉ๋๋ค.
์์
ํ๋ ์ด์ด์ ์์ง์์ ๊ฐ์งํด์ ๋ฉ์์ง ์ถ๋ ฅํด๋ณด๊ธฐ.
App.onUpdate.Add(function (dt) {
let _players = App.players;
for (let i in _players) {
let p = _players[i];
if (p.isMoving) {
App.sayToAll(`${p.name}๋์ด ์์ง์ด๋ ์ค..`);
}
}
});isJumping
ํ๋ ์ด์ด๊ฐ ์ ํํ๊ณ ์์ผ๋ฉด True, ์๋๋ฉด False๋ฅผ ๋ฐํํฉ๋๋ค.
์์
ํ๋ ์ด์ด์ ์ ํ๋ฅผ ๊ฐ์งํด์ ๋ฉ์์ง ์ถ๋ ฅํด๋ณด๊ธฐ.
App.onUpdate.Add(function (dt) {
let _players = App.players;
for (let i in _players) {
let p = _players[i];
if (p.isJumping) {
App.sayToAll(`[์์คํ
] ${p.name}๋์ด ์ ํ ์ค..`);
}
}
});customData
URL ์ฟผ๋ฆฌ์คํธ๋ง์ผ๋ก ์ ๋ฌ ๋ฐ์ ๊ฐ์ ์ ์ฅํ๋ ํ๋์ ๋๋ค.
์์
๐ฅ URL ์ฟผ๋ฆฌ์คํธ๋ง ํ์ฉํ๊ธฐ
displayRatio
ํ๋ ์ด์ดํ๋ฉด์ ์ค์ ์ปจํธ๋กค ํ๋ ๊ฐ ( ๊ธฐ๋ณธ ๊ฐ: 1 )
์์
ํ๋ฉด์ ์ค์ ์ปจํธ๋กค ํ๋ ํค ๋ง๋ค์ด๋ณด๊ธฐ
// q ํค๋ฅผ ๋๋ฅด๋ฉด ๋์ํ๋ ํจ์
// ํ ๋ฒ ๋๋ฅด๋ฉด ํ๋ฉด์ ์ค ๊ฐ์ด ์ปค์ง๊ณ , ํ ๋ฒ ๋ ๋๋ฅด๋ฉด ์๋๋๋ก ๋์์ค๋ ํค ํจ์
App.addOnKeyDown(81,function(player){
if(player.displayRatio == 1){
player.displayRatio = 5;
}else{
player.displayRatio = 1;
}
player.sendUpdated(); //* player์ Field๊ฐ์ด ๋ณ๊ฒฝ๋๋ฉด player.sendUpdated()๋ก ๋ณ๊ฒฝ๊ฐ์ ์ ์ฉ
})

titleColor
ํ๋ ์ด์ด์ ํ์ดํ ์์์ ์ฝ๊ฑฐ๋ ์์ ํ ์ ์์ต๋๋ค.
Enum ๊ฐ ๋๋ ์ปฌ๋ฌ Hex Code ๊ฐ์ ์ ๋ ฅํ ์ ์์ต๋๋ค.
์ฌ์ฉ ๊ฐ๋ฅํ Enum ColorType
{ WHITE, BLACK, RED, GREEN, BLUE, ORANGE, PURPLE, GRAY, YELLOW, MAGENTA, CYAN }์์
ํ์ดํ ์์ ๋ฐ๊ฟ๋ณด๊ธฐ

// q ํค๋ฅผ ๋๋ฅด๋ฉด ๋์ํ๋ ํจ์
App.addOnKeyDown(81, function (player) {
player.title = "๐ธTitle๐ธ";
// Enum ๊ฐ์ผ๋ก ์
๋ ฅํ๋ ๊ฒฝ์ฐ
player.titleColor = ColorType.CYAN;
// Hex Code๋ก ์
๋ ฅํ๋ ๊ฒฝ์ฐ (์ฃผ์์ ํด์ ํด์ฃผ์ธ์)
// player.titleColor = 0x00FFFF;
player.sendUpdated(); //* player์ Field๊ฐ์ด ๋ณ๊ฒฝ๋๋ฉด player.sendUpdated()๋ก ๋ณ๊ฒฝ๊ฐ์ ์ ์ฉ
});
emailHash
ํ๋ ์ด์ด์ ์ด๋ฉ์ผ Hash ๊ฐ์ ๊ฐ์ ธ์ต๋๋ค.
์์
ํ๋ ์ด์ด์ ์ด๋ฉ์ผ Hash ๊ฐ ์ถ๋ ฅํ๊ธฐ
// ํ๋ ์ด์ด๊ฐ ์
์ฅํ ๋ ๋์ํ๋ ํจ์
App.onJoinPlayer.Add(function(player){
App.sayToAll(`name: ${player.name} emailHash: ${player.emailHash}`);
})isGuest
๋น๋ก๊ทธ์ธ ํ๋ ์ด์ด์ธ ๊ฒฝ์ฐ true ๊ฐ์ ๊ฐ์ง๋๋ค.
์์
๋น๋ก๊ทธ์ธ ์ ์ ์ ์ฅ์ ํ์ดํ์ "GUEST" ํ์ํ๊ธฐ
// ํ๋ ์ด์ด๊ฐ ์
์ฅํ ๋ ๋์ํ๋ ํจ์
App.onJoinPlayer.Add(function(player){
if(player.isGuest){
player.title = "GUEST";
player.sendUpdated();
}
})language
๋ธ๋ผ์ฐ์ ์์ ์ฌ์ฉํ๋ ์ธ์ด ์ค์ ๊ฐ์ ๋ฐ๋ผ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ ๊ฐ์ง๋๋ค.
ํ๊ตญ์ด "ko", ์ผ๋ณธ์ด: "ja", ์์ด: "en"
์์
์ ์ ์ ์ฅ์ ๋ธ๋ผ์ฐ์ ์์ ์ฌ์ฉ ํ๋ ์ธ์ด ์ค์ ๊ฐ ํ์ํ๊ธฐ
// ํ๋ ์ด์ด๊ฐ ์
์ฅํ ๋ ๋์ํ๋ ํจ์
App.onJoinPlayer.Add(function(player){
App.sayToAll(player.language);
})away
์ฅ์๊ฐ ๋นํ์ฑํ๋ ์ ์ ์ธ ๊ฒฝ์ฐ true๊ฐ์ ๊ฐ์ง๋๋ค.
enableFreeView
ํ๋ ์ด์ด์ ๋งต ๋๋ฌ๋ณด๊ธฐ ํ์ฉ ์ฌ๋ถ๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
์์
๋จ์ถํค๋ก ํ๋ ์ด์ด์ ๋งต ๋๋ฌ๋ณด๊ธฐ ํ์ฉ ์ฌ๋ถ ์ค์ ํ๊ธฐ
// Q๋ฅผ ๋๋ฅด๋ฉด ๋์ํ๋ ํจ์
App.addOnKeyDown(81, function (player) {
if (player.enableFreeView) {
player.enableFreeView = false;
} else {
player.enableFreeView = true;
}
player.sendUpdated();
player.sendMessage(`player.enableFreeView = ${player.enableFreeView}`, 0x00ffff);
});Last updated
Was this helpful?