Field
์๊ฐ
Field๋ App๊ณผ ๊ด๋ จ๋ ์์ฑ ๊ฐ๋ค ์ ๋๋ค. ์ด ํ๋๋ฅผ ํ์ฉํด ์ฐธ๊ฐ ์ค์ธ ์คํ์ด์ค๋ ๋งต, ํ๋ ์ด์ด ์ ๋ณด ๋ฑ์ ์กฐํํ๊ฑฐ๋, ์ ์ฅ๊ณต๊ฐ์ ํ์ฉํ ์ ์์ต๋๋ค.
๐ ์์ด์ฝ์ด ์๋ ํ๋๋ ์์ ์ด ๋ถ๊ฐ๋ฅํ ์ฝ๊ธฐ ์ ์ฉ ํ๋์ ๋๋ค.
๐ spaceHashID
App์ด ์ค์น๋ ์คํ์ด์ค์ ํด์ฌ๊ฐ์ ๋ณด์ฌ์ค๋๋ค.
๐ mapHashID
App์ด ์ค์น๋ ๋งต์ ํด์ฌ๊ฐ์ ๊ฐ์ ธ์ต๋๋ค.
๐ creatorID
App์ ์คํํ ํ๋ ์ด์ด์ ID ๊ฐ์ ๊ฐ์ ธ์ต๋๋ค.
๐ players
๋งต์ ์๋ ๋ชจ๋ ํ๋ ์ด์ด ๋ฆฌ์คํธ๋ฅผ ๋ฐฐ์ด๋ก ๊ฐ์ ธ์ต๋๋ค.
๐ playerCount
์ฑ์ด ์ค์น๋ ๋งต์ ์๋ ํ๋ ์ด์ด์ ์๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
cameraEffect
์นด๋ฉ๋ผ ์ดํํธ์ ์ข ๋ฅ๋ฅผ ์ ํ ํ ๋ณ์ ๊ฐ
cameraEffectParam
์นด๋ฉ๋ผ ์ดํํธ ํจ๊ณผ์ ๋ฒ์ ๊ฐ
displayRatio
ํ๋ฉด์ ์ค์ ์ปจํธ๋กค ํ๋ ๊ฐ
storage
์คํ์ด์ค ๋ด์ App ๋ฐ์ดํฐ์ ์ ์ฅ๊ณต๊ฐ(์คํ์ด์ค ํ์ )
followPlayer
App์ ๋ฐ๋ผ๊ฐ๊ธฐ ๊ธฐ๋ฅ ํ์ฑํ ์ฌ๋ถ ๊ฐ
showName
ํ๋ ์ด์ด ๋๋ค์ ์จ๊น ์ฌ๋ถ
๐ appHashID
์ฑ์ HashID ๊ฐ์ ๊ฐ์ ธ์ต๋๋ค.
enableFreeView
์ฑ์ด ์ค์น๋ ๋งต์ ๋๋ฌ๋ณด๊ธฐ ํ์ฉ ์ฌ๋ถ๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
๐ API ์ค๋ช
๋ฐ ์์
spaceHashID & mapHashID
์ฑ์ด ์ค์น๋ ์คํ์ด์ค์ spaceHashID์ mapHashID๋ฅผ ๊ฐ์ ธ์ต๋๋ค. (์คํ์ด์ค์ ๋งต ์ดํดํ๊ธฐ)
์์
์ฑ์ด ์ค์น๋ ๋งต์ spaceHashID์ mapHashID ์ถ๋ ฅํด๋ณด๊ธฐ
// ํ๋ ์ด์ด๊ฐ ์
์ฅํ ๋ ๋์ํ๋ ํจ์
App.onJoinPlayer.Add(function(player){
// ์ฑํ
์ฐฝ์ spaceHashID์ mapHashID ์ถ๋ ฅํด๋ณด๊ธฐ
App.sayToAll(`spaceHashID: ${App.spaceHashID}`); // spaceHashID: Ak42Xz
App.sayToAll(`mapHashID: ${App.mapHashID}`) // mapHashId: 25g3RQ
})
creatorID
๋ฏธ๋๊ฒ์์ ์คํํ ํ๋ ์ด์ด์ ID ๊ฐ์ ๊ฐ์ ธ์ต๋๋ค. โ๋งต ๋ด์ฅํ ์ฑ์ธ ๋ ธ๋ฉ ์ฑ๊ณผ ์ฌ์ด๋๋ฐ ์ฑ์์๋ ๋์ํ์ง ์์ต๋๋ค.
์์
๋ฏธ๋๊ฒ์์ ์คํํ ํ๋ ์ด์ด์ ๋๋ค์์ ์ฑํ ์ฐฝ์ ์ถ๋ ฅํด๋ณด๊ธฐ
// ํ๋ ์ด์ด๊ฐ ์
์ฅํ ๋ ๋์ํ๋ ํจ์
App.onJoinPlayer.Add(function(player){
if(player.id == App.creatorID){
App.sayToAll(`${player.name}๋์ด ์ฑ์ ์คํํ์ต๋๋ค.`)
}
})
players
๋งต์ ์๋ ๋ชจ๋ ํ๋ ์ด์ด ๋ฆฌ์คํธ๋ฅผ ๋ฐฐ์ด๋ก ๊ฐ์ ธ์ต๋๋ค.
์์
๋งต์ ์๋ ๋ชจ๋ ํ๋ ์ด์ด ๋๋ค์์ ์ถ๋ ฅํด๋ณด๊ธฐ
// q ํค๋ฅผ ๋๋ฅด๋ฉด ๋์ํ๋ ํจ์
// App.addOnKeyDown ์ค๋ช
App.addOnKeyDown(81,function(p){
//App.players๋ฅผ ์ด์ฉํด ์ฑํ
์ฐฝ์ ์ ์ํด์๋ ๋ชจ๋ ํ๋ ์ด์ด์ ๋๋ค์์ ์ถ๋ ฅํ๊ธฐ
let players = App.players;
for(let i in players){
let player = players[i]
App.sayToAll(player.name)
}
})
playerCount
์ฑ์ด ์ค์น๋ ๋งต์ ์๋ ํ๋ ์ด์ด์ ์๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
์์
๋งต์ ์๋ ํ๋ ์ด์ด ์ ์ถ๋ ฅํด๋ณด๊ธฐ
// q ํค๋ฅผ ๋๋ฅด๋ฉด ๋์ํ๋ ํจ์
// App.addOnKeyDown ์ค๋ช
App.addOnKeyDown(81,function(p){
// ํ์ฌ ์ ์์ ์๋ฅผ ์ฑํ
์ฐฝ์ ์ถ๋ ฅ
App.sayToAll(`์ ์์ ์: ${App.playerCount}`)
})
cameraEffect & cameraEffectParam1
App.cameraEffect: ์นด๋ฉ๋ผ ์ดํํธ์ ์ข ๋ฅ๋ฅผ ์ ํ ํ ๋ณ์ ๊ฐ
App.cameraEffectParam1: ์นด๋ฉ๋ผ ์ดํํธ ํจ๊ณผ์ ๋ฒ์ ๊ฐ
์์
๋น๋คํ ํจ๊ณผ๋ฅผ On/Off ํ๋ ํค ํจ์ ๋ง๋ค์ด๋ณด๊ธฐ
// q ํค๋ฅผ ๋๋ฅด๋ฉด ๋์ํ๋ ํจ์
// ํ ๋ฒ ๋๋ฅด๋ฉด ๋น๋คํ
ํจ๊ณผ๊ฐ ์ผ์ง๊ณ , ๋ ๋ฒ ๋๋ฅด๋ฉด ๋น๋คํ
ํจ๊ณผ๊ฐ ๊บผ์ง
// App.addOnKeyDown ์ค๋ช
App.addOnKeyDown(81,function(p){
if(App.cameraEffect == 0){
App.cameraEffect = 1; // 1 = ๋น๋คํ
ํจ๊ณผ
App.cameraEffectParam1 = 500; // ๋น๋คํ
ํจ๊ณผ์ ๋ฒ์๋ฅผ 500์ผ๋ก ์ง์
}
else if(App.cameraEffect == 1){
App.cameraEffect = 0; // ๋น๋คํ
ํจ๊ณผ ๋๊ธฐ
}
App.sendUpdated(); // ์ฑ์ Field๊ฐ์ด ๋ณ๊ฒฝ๋๋ฉด App.sendUpdated()๋ก ๋ณ๊ฒฝ๊ฐ์ ์ ์ฉ
})

displayRatio
ํ๋ฉด์ ์ค์ ์ปจํธ๋กค ํ๋ ๊ฐ ( ๊ธฐ๋ณธ ๊ฐ: 1 )
์์
ํ๋ฉด์ ์ค์ ์ปจํธ๋กค ํ๋ ํค ๋ง๋ค์ด๋ณด๊ธฐ
// q ํค๋ฅผ ๋๋ฅด๋ฉด ๋์ํ๋ ํจ์
// ํ ๋ฒ ๋๋ฅด๋ฉด ํ๋ฉด์ ์ค ๊ฐ์ด ์ปค์ง๊ณ , ํ ๋ฒ ๋ ๋๋ฅด๋ฉด ์๋๋๋ก ๋์์ค๋ ํค ํจ์
// App.addOnKeyDown ์ค๋ช
App.addOnKeyDown(81,function(p){
if(App.displayRatio == 1){
App.displayRatio = 5;
}else{
App.displayRatio = 1;
}
App.sendUpdated(); //* ์ฑ์ Field๊ฐ์ด ๋ณ๊ฒฝ๋๋ฉด App.sendUpdated()๋ก ๋ณ๊ฒฝ๊ฐ์ ์ ์ฉ
})


storage
์คํ์ด์ค ๋ด์ App ๋ฐ์ดํฐ์ ์ ์ฅ๊ณต๊ฐ ์ ๋๋ค (์คํ์ด์ค ํ์ )
์์
Storage ํ์ด์ง๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์
followPlayer
App์ ๋ฐ๋ผ๊ฐ๊ธฐ ๊ธฐ๋ฅ ํ์ฑํ ์ฌ๋ถ ๊ฐ ์ ๋๋ค. ( ๊ธฐ๋ณธ ๊ฐ : false )
๋ ธ๋ฉ ์ฑ, ๋ฏธ๋๊ฒ์ ์ฑ์ด ์คํ ์ค์ธ ๊ฒฝ์ฐ followPlayer ๊ฐ์ด false๋ก ์ค์ ๋์ด โ๋ฐ๋ผ๊ฐ๊ธฐโ ๊ธฐ๋ฅ์ด ๋นํ์ฑํ๋ฉ๋๋ค.
์์
๋ฐ๋ผ๊ฐ๊ธฐ ๊ธฐ๋ฅ์ ๋๊ณ ํค๋ ํจ์ ๋ง๋ค์ด๋ณด๊ธฐ
// q ํค๋ฅผ ๋๋ฅด๋ฉด ๋์ํ๋ ํจ์
// followPlayer ๊ฐ์ ๋ฐ๊พธ๋ ํค ํจ์
App.addOnKeyDown(81,function(p){
if(App.followPlayer){
App.followPlayer = false;
}else{
App.followPlayer = true;
}
App.sayToAll(`App.followPlayer: ${App.followPlayer}`)
App.sendUpdated(); //* ์ฑ์ Field๊ฐ์ด ๋ณ๊ฒฝ๋๋ฉด App.sendUpdated()๋ก ๋ณ๊ฒฝ๊ฐ์ ์ ์ฉ
})
showName
ํ๋ ์ด์ด ๋๋ค์ ์จ๊น ์ฌ๋ถ
App.showName ์ false๋ก ์ค์ ํ๋ฉด ๋ชจ๋ ํ๋ ์ด์ด์ ๋๋ค์์ด ์จ๊น ์ฒ๋ฆฌ๋ฉ๋๋ค.
์์
// q ํค๋ฅผ ๋๋ฅด๋ฉด ๋์ํ๋ ํจ์
// showName ๊ฐ์ ๋ฐ๊พธ๋ ํค ํจ์
App.addOnKeyDown(81,function(p){
if(App.showName){
App.showName = false;
}else{
App.showName = true;
}
App.sayToAll(`App.showName: ${App.showName}`)
App.sendUpdated(); //* ์ฑ์ Field๊ฐ์ด ๋ณ๊ฒฝ๋๋ฉด App.sendUpdated()๋ก ๋ณ๊ฒฝ๊ฐ์ ์ ์ฉ
})
appHashID
์ฑ์ HashID๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
์์
์ฑํ ์ฐฝ์์ฑ์ HashID ์ถ๋ ฅํ๊ธฐ
// ํ๋ ์ด์ด๊ฐ ์
์ฅํ ๋ ๋์ํ๋ ํจ์
App.onJoinPlayer.Add(function(player){
App.sayToAll(`appHashID: ${App.appHashID}`);
})
enableFreeView
์ฑ์ด ์ค์น๋ ๋งต์ ๋๋ฌ๋ณด๊ธฐ ํ์ฉ ์ฌ๋ถ๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
์์
๋จ์ถํค๋ก ๋งต ๋๋ฌ๋ณด๊ธฐ ํ์ฉ ์ฌ๋ถ ์ค์ ํ๊ธฐ
// Q๋ฅผ ๋๋ฅด๋ฉด ๋์ํ๋ ํจ์
App.addOnKeyDown(81, function (player) {
if (App.enableFreeView) {
App.enableFreeView = false;
} else {
App.enableFreeView = true;
}
App.sendUpdated();
player.sendMessage(`App.enableFreeView = ${App.enableFreeView}`, 0x00ffff);
});
๋ถ๋ก
Last updated
Was this helpful?