Merge branch 'main' into linux
This commit is contained in:
commit
d1f3d67062
46 files changed
+2199
-84
No files matched your search
@@ -30,13 +30,52 @@
|
|||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
}
|
}
|
||||||
#status { color: white; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
|
#status { color: white; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
|
||||||
|
|
||||||
|
/* Nick modal */
|
||||||
|
#nickOverlay {
|
||||||
|
position: absolute;
|
||||||
|
inset: 0;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
background: rgba(0,0,0,0.85);
|
||||||
|
z-index: 9999;
|
||||||
|
}
|
||||||
|
#nickBox {
|
||||||
|
background: #111;
|
||||||
|
border: 1px solid #444;
|
||||||
|
padding: 24px;
|
||||||
|
width: 320px;
|
||||||
|
box-shadow: 0 8px 24px rgba(0,0,0,0.6);
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
#nickBox h2 { margin: 0 0 12px 0; font-size: 18px; color: #eee; }
|
||||||
|
#nickBox input[type="text"] {
|
||||||
|
width: 100%;
|
||||||
|
padding: 10px;
|
||||||
|
font-size: 16px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
margin-bottom: 12px;
|
||||||
|
border: 1px solid #333;
|
||||||
|
background: #000;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
#nickBox button {
|
||||||
|
padding: 10px 16px;
|
||||||
|
font-size: 16px;
|
||||||
|
background: #2a9fd6;
|
||||||
|
border: none;
|
||||||
|
color: #fff;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<button id="fs-button">Fullscreen</button>
|
<button id="fs-button">Fullscreen</button>
|
||||||
<div id="status">Downloading...</div>
|
<div id="status">Downloading...</div>
|
||||||
<canvas id="canvas" oncontextmenu="event.preventDefault()" tabindex="-1"></canvas>
|
<canvas id="canvas" oncontextmenu="event.preventDefault()" tabindex="-1"></canvas>
|
||||||
|
<!--
|
||||||
<script>
|
<script>
|
||||||
var statusElement = document.getElementById("status");
|
var statusElement = document.getElementById("status");
|
||||||
var canvas = document.getElementById("canvas");
|
var canvas = document.getElementById("canvas");
|
||||||
@@ -66,6 +105,128 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<script async src="space-game001.js"></script>
|
<script async src="space-game001.js"></script>-->
|
||||||
|
|
||||||
|
<div id="nickOverlay" style="display:none;">
|
||||||
|
<div id="nickBox">
|
||||||
|
<h2>Enter your nickname</h2>
|
||||||
|
<input id="nickInput" type="text" maxlength="32" placeholder="Player" />
|
||||||
|
<div>
|
||||||
|
<button id="nickSubmit">Start</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
// Utility: подготовить глобальный Module до загрузки Emscripten-скрипта
|
||||||
|
function prepareModuleEnvironment() {
|
||||||
|
window.Module = window.Module || {};
|
||||||
|
var canvasEl = document.getElementById('canvas');
|
||||||
|
// Устанавливаем canvas для Emscripten, чтобы createContext не падал
|
||||||
|
window.Module.canvas = canvasEl;
|
||||||
|
// Подготовим заглушку setStatus, если ещё нет
|
||||||
|
window.Module.setStatus = window.Module.setStatus || function (text) {
|
||||||
|
var statusElement = document.getElementById("status");
|
||||||
|
statusElement.innerHTML = text;
|
||||||
|
statusElement.style.display = text ? 'block' : 'none';
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// Show overlay only if no nickname saved.
|
||||||
|
function loadGameScript() {
|
||||||
|
var s = document.createElement('script');
|
||||||
|
s.src = 'space-game001.js';
|
||||||
|
s.async = true;
|
||||||
|
document.body.appendChild(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
function showNickOverlay() {
|
||||||
|
var overlay = document.getElementById('nickOverlay');
|
||||||
|
overlay.style.display = 'flex';
|
||||||
|
var input = document.getElementById('nickInput');
|
||||||
|
input.focus();
|
||||||
|
}
|
||||||
|
|
||||||
|
function hideNickOverlay() {
|
||||||
|
var overlay = document.getElementById('nickOverlay');
|
||||||
|
overlay.style.display = 'none';
|
||||||
|
}
|
||||||
|
|
||||||
|
function saveNickAndStart(nick) {
|
||||||
|
try {
|
||||||
|
if (!nick || nick.trim() === '') nick = 'Player';
|
||||||
|
localStorage.setItem('spacegame_nick', nick);
|
||||||
|
} catch (e) {
|
||||||
|
console.warn('localStorage not available', e);
|
||||||
|
}
|
||||||
|
hideNickOverlay();
|
||||||
|
// перед загрузкой скрипта гарантируем, что Module.canvas задан
|
||||||
|
prepareModuleEnvironment();
|
||||||
|
loadGameScript();
|
||||||
|
}
|
||||||
|
|
||||||
|
document.getElementById('fs-button').addEventListener('click', function() {
|
||||||
|
if (!document.fullscreenElement) {
|
||||||
|
document.documentElement.requestFullscreen().catch(function(e) {
|
||||||
|
console.error('Fullscreen error: ' + e.message);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
document.exitFullscreen();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
|
// Готовим Module сразу — даже если откроется модалка, поле canvas будет доступно для скрипта (если он загружается позже)
|
||||||
|
prepareModuleEnvironment();
|
||||||
|
|
||||||
|
var stored = null;
|
||||||
|
try {
|
||||||
|
stored = localStorage.getItem('spacegame_nick');
|
||||||
|
} catch (e) {
|
||||||
|
console.warn('localStorage not available', e);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (stored && stored.trim() !== '') {
|
||||||
|
// Nick is present — start immediately
|
||||||
|
loadGameScript();
|
||||||
|
} else {
|
||||||
|
// Show modal to request nickname before loading WASM
|
||||||
|
showNickOverlay();
|
||||||
|
var submit = document.getElementById('nickSubmit');
|
||||||
|
var input = document.getElementById('nickInput');
|
||||||
|
|
||||||
|
submit.addEventListener('click', function() {
|
||||||
|
saveNickAndStart(input.value);
|
||||||
|
});
|
||||||
|
|
||||||
|
input.addEventListener('input', function() {
|
||||||
|
// Strip any character that is not a-z, A-Z, 0-9 or space
|
||||||
|
var pos = this.selectionStart;
|
||||||
|
var cleaned = this.value.replace(/[^a-zA-Z0-9 ]/g, '');
|
||||||
|
if (cleaned !== this.value) {
|
||||||
|
this.value = cleaned;
|
||||||
|
this.setSelectionRange(pos - 1, pos - 1);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
input.addEventListener('keydown', function(e) {
|
||||||
|
if (e.key === 'Enter') {
|
||||||
|
saveNickAndStart(input.value);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
window.addEventListener("orientationchange", function() {
|
||||||
|
// Chrome на Android обновляет innerWidth/Height не мгновенно.
|
||||||
|
// Ждем завершения анимации поворота.
|
||||||
|
setTimeout(() => {
|
||||||
|
// В Emscripten это вызовет ваш onWindowResized в C++
|
||||||
|
window.dispatchEvent(new Event('resize'));
|
||||||
|
}, 200);
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,218 @@
|
|||||||
|
{
|
||||||
|
"root": {
|
||||||
|
"type": "LinearLayout",
|
||||||
|
"orientation": "vertical",
|
||||||
|
"vertical_align": "center",
|
||||||
|
"horizontal_align": "center",
|
||||||
|
"spacing": 10,
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"width": "match_parent",
|
||||||
|
"height": "match_parent",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"type": "StaticImage",
|
||||||
|
"name": "titleBtn",
|
||||||
|
"width": 434,
|
||||||
|
"height": 35,
|
||||||
|
"texture": "resources/main_menu/title.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "StaticImage",
|
||||||
|
"name": "aboutSpace1",
|
||||||
|
"width": 434,
|
||||||
|
"height": 10
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "FrameLayout",
|
||||||
|
"spacing": 10,
|
||||||
|
"width": 434,
|
||||||
|
"height": 460,
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"type": "TextView",
|
||||||
|
"name": "aboutText1",
|
||||||
|
"width": 434,
|
||||||
|
"height": 40,
|
||||||
|
"x": -300,
|
||||||
|
"y": 0,
|
||||||
|
"horizontal_gravity": "left",
|
||||||
|
"vertical_gravity": "top",
|
||||||
|
"text": "Producer: Vladislav Khorev",
|
||||||
|
"fontSize": 32,
|
||||||
|
"color": [
|
||||||
|
255,
|
||||||
|
255,
|
||||||
|
255,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"centered": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "TextView",
|
||||||
|
"name": "aboutText2",
|
||||||
|
"width": 434,
|
||||||
|
"height": 40,
|
||||||
|
"x": -300,
|
||||||
|
"y": 60,
|
||||||
|
"horizontal_gravity": "left",
|
||||||
|
"vertical_gravity": "top",
|
||||||
|
"text": "Lead Developer: Vladislav Khorev",
|
||||||
|
"fontSize": 32,
|
||||||
|
"color": [
|
||||||
|
255,
|
||||||
|
255,
|
||||||
|
255,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"centered": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "TextView",
|
||||||
|
"name": "aboutText2",
|
||||||
|
"width": 434,
|
||||||
|
"height": 40,
|
||||||
|
"x": -300,
|
||||||
|
"y": 120,
|
||||||
|
"horizontal_gravity": "left",
|
||||||
|
"vertical_gravity": "top",
|
||||||
|
"text": "Game Designer: Leila Bobrova",
|
||||||
|
"fontSize": 32,
|
||||||
|
"color": [
|
||||||
|
255,
|
||||||
|
255,
|
||||||
|
255,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"centered": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "TextView",
|
||||||
|
"name": "aboutText2",
|
||||||
|
"width": 434,
|
||||||
|
"height": 40,
|
||||||
|
"x": -300,
|
||||||
|
"y": 180,
|
||||||
|
"horizontal_gravity": "left",
|
||||||
|
"vertical_gravity": "top",
|
||||||
|
"text": "Developers: ",
|
||||||
|
"fontSize": 32,
|
||||||
|
"color": [
|
||||||
|
255,
|
||||||
|
255,
|
||||||
|
255,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"centered": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "TextView",
|
||||||
|
"name": "aboutText2",
|
||||||
|
"width": 434,
|
||||||
|
"height": 40,
|
||||||
|
"x": -300,
|
||||||
|
"y": 220,
|
||||||
|
"horizontal_gravity": "left",
|
||||||
|
"vertical_gravity": "top",
|
||||||
|
"text": "Vladislav Kan",
|
||||||
|
"fontSize": 32,
|
||||||
|
"color": [
|
||||||
|
255,
|
||||||
|
255,
|
||||||
|
255,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"centered": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "TextView",
|
||||||
|
"name": "aboutText2",
|
||||||
|
"width": 434,
|
||||||
|
"height": 40,
|
||||||
|
"x": -300,
|
||||||
|
"y": 260,
|
||||||
|
"horizontal_gravity": "left",
|
||||||
|
"vertical_gravity": "top",
|
||||||
|
"text": "Beksultan Almazbekov",
|
||||||
|
"fontSize": 32,
|
||||||
|
"color": [
|
||||||
|
255,
|
||||||
|
255,
|
||||||
|
255,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"centered": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "TextView",
|
||||||
|
"name": "aboutText2",
|
||||||
|
"width": 434,
|
||||||
|
"height": 40,
|
||||||
|
"x": -300,
|
||||||
|
"y": 300,
|
||||||
|
"horizontal_gravity": "left",
|
||||||
|
"vertical_gravity": "top",
|
||||||
|
"text": "Sergei Zotov",
|
||||||
|
"fontSize": 32,
|
||||||
|
"color": [
|
||||||
|
255,
|
||||||
|
255,
|
||||||
|
255,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"centered": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "TextView",
|
||||||
|
"name": "aboutText2",
|
||||||
|
"width": 434,
|
||||||
|
"height": 40,
|
||||||
|
"x": -300,
|
||||||
|
"y": 360,
|
||||||
|
"horizontal_gravity": "left",
|
||||||
|
"vertical_gravity": "top",
|
||||||
|
"text": "3D Artist: David \"nokken\" Im",
|
||||||
|
"fontSize": 32,
|
||||||
|
"color": [
|
||||||
|
255,
|
||||||
|
255,
|
||||||
|
255,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"centered": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "TextView",
|
||||||
|
"name": "aboutText2",
|
||||||
|
"width": 434,
|
||||||
|
"height": 40,
|
||||||
|
"x": -300,
|
||||||
|
"y": 420,
|
||||||
|
"horizontal_gravity": "left",
|
||||||
|
"vertical_gravity": "top",
|
||||||
|
"text": "UI/UX Design: Kenje Kazmatova",
|
||||||
|
"fontSize": 32,
|
||||||
|
"color": [
|
||||||
|
255,
|
||||||
|
255,
|
||||||
|
255,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"centered": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "Button",
|
||||||
|
"name": "aboutBackButton",
|
||||||
|
"width": 382,
|
||||||
|
"height": 56,
|
||||||
|
"textures": {
|
||||||
|
"normal": "resources/game_over/Secondarybutton.png",
|
||||||
|
"hover": "resources/game_over/Secondarybutton.png",
|
||||||
|
"pressed": "resources/game_over/Secondarybutton.png"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -27,9 +27,9 @@
|
|||||||
"horizontal_gravity": "center",
|
"horizontal_gravity": "center",
|
||||||
"vertical_gravity": "center",
|
"vertical_gravity": "center",
|
||||||
"textures": {
|
"textures": {
|
||||||
"normal": "resources/game_over/Filledbuttons.png",
|
"normal": "resources/game_over/reconnect1.png",
|
||||||
"hover": "resources/game_over/Variant5.png",
|
"hover": "resources/game_over/reconnect2.png",
|
||||||
"pressed": "resources/game_over/Variant6.png"
|
"pressed": "resources/game_over/reconnect3.png"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -27,9 +27,9 @@
|
|||||||
"horizontal_gravity": "center",
|
"horizontal_gravity": "center",
|
||||||
"vertical_gravity": "center",
|
"vertical_gravity": "center",
|
||||||
"textures": {
|
"textures": {
|
||||||
"normal": "resources/game_over/Filledbuttons.png",
|
"normal": "resources/game_over/reconnect1.png",
|
||||||
"hover": "resources/game_over/Variant5.png",
|
"hover": "resources/game_over/reconnect2.png",
|
||||||
"pressed": "resources/game_over/Variant6.png"
|
"pressed": "resources/game_over/reconnect3.png"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -52,6 +52,17 @@
|
|||||||
"hover": "resources/main_menu/Variant7.png",
|
"hover": "resources/main_menu/Variant7.png",
|
||||||
"pressed": "resources/main_menu/Variant8.png"
|
"pressed": "resources/main_menu/Variant8.png"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "Button",
|
||||||
|
"name": "aboutButton",
|
||||||
|
"width": 382,
|
||||||
|
"height": 56,
|
||||||
|
"textures": {
|
||||||
|
"normal": "resources/main_menu/about.png",
|
||||||
|
"hover": "resources/main_menu/about_hover.png",
|
||||||
|
"pressed": "resources/main_menu/about_pressed.png"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "StaticImage",
|
"type": "StaticImage",
|
||||||
|
|||||||
@@ -38,7 +38,41 @@
|
|||||||
"normal": "resources/button_players.png",
|
"normal": "resources/button_players.png",
|
||||||
"hover": "resources/button_players.png",
|
"hover": "resources/button_players.png",
|
||||||
"pressed": "resources/button_players.png",
|
"pressed": "resources/button_players.png",
|
||||||
"disabled": "resources/button_players.png"
|
"disabled": "resources/button_players_disabled.png"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "Button",
|
||||||
|
"name": "inverseMouseButton",
|
||||||
|
"x": 0,
|
||||||
|
"y": 100,
|
||||||
|
"width": 150,
|
||||||
|
"height": 150,
|
||||||
|
"border" : 20,
|
||||||
|
"horizontal_gravity": "right",
|
||||||
|
"vertical_gravity": "top",
|
||||||
|
"textures": {
|
||||||
|
"normal": "resources/button_invmouse.png",
|
||||||
|
"hover": "resources/button_invmouse.png",
|
||||||
|
"pressed": "resources/button_invmouse_pressed.png",
|
||||||
|
"disabled": "resources/button_invmouse.png"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "Button",
|
||||||
|
"name": "infoButton",
|
||||||
|
"x": 0,
|
||||||
|
"y": 250,
|
||||||
|
"width": 150,
|
||||||
|
"height": 150,
|
||||||
|
"border" : 20,
|
||||||
|
"horizontal_gravity": "left",
|
||||||
|
"vertical_gravity": "top",
|
||||||
|
"textures": {
|
||||||
|
"normal": "resources/button_info.png",
|
||||||
|
"hover": "resources/button_info.png",
|
||||||
|
"pressed": "resources/button_info_pressed.png",
|
||||||
|
"disabled": "resources/button_info.png"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -0,0 +1,163 @@
|
|||||||
|
{
|
||||||
|
"root": {
|
||||||
|
"type": "FrameLayout",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"width": "match_parent",
|
||||||
|
"height": "match_parent",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"type": "StaticImage",
|
||||||
|
"name": "showPlayersButton_help",
|
||||||
|
"x": 0,
|
||||||
|
"y": 100,
|
||||||
|
"width": 150,
|
||||||
|
"height": 150,
|
||||||
|
"horizontal_gravity": "left",
|
||||||
|
"vertical_gravity": "top",
|
||||||
|
"texture": "resources/button_players.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "StaticImage",
|
||||||
|
"name": "infoButton_help",
|
||||||
|
"x": 0,
|
||||||
|
"y": 250,
|
||||||
|
"width": 150,
|
||||||
|
"height": 150,
|
||||||
|
"border" : 20,
|
||||||
|
"horizontal_gravity": "left",
|
||||||
|
"vertical_gravity": "top",
|
||||||
|
"texture":"resources/button_info.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "StaticImage",
|
||||||
|
"name": "infoButtonTopLeft_help",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"width": 300,
|
||||||
|
"height": 400,
|
||||||
|
"border" : 0,
|
||||||
|
"horizontal_gravity": "left",
|
||||||
|
"vertical_gravity": "top",
|
||||||
|
"texture": "resources/help_top_left.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "StaticImage",
|
||||||
|
"name": "inverseMouseButton_help",
|
||||||
|
"x": 0,
|
||||||
|
"y": 100,
|
||||||
|
"width": 150,
|
||||||
|
"height": 150,
|
||||||
|
"border" : 20,
|
||||||
|
"horizontal_gravity": "right",
|
||||||
|
"vertical_gravity": "top",
|
||||||
|
"texture": "resources/button_invmouse.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "StaticImage",
|
||||||
|
"name": "infoButtonTopRight_help",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"width": 300,
|
||||||
|
"height": 230,
|
||||||
|
"border" : 0,
|
||||||
|
"horizontal_gravity": "right",
|
||||||
|
"vertical_gravity": "top",
|
||||||
|
"texture": "resources/help_top_right.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "StaticImage",
|
||||||
|
"name": "infoButtonBottomLeft_help",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"width": 300,
|
||||||
|
"height": 200,
|
||||||
|
"border" : 0,
|
||||||
|
"horizontal_gravity": "left",
|
||||||
|
"vertical_gravity": "bottom",
|
||||||
|
"texture": "resources/help_bottom_left.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "StaticImage",
|
||||||
|
"name": "shootButton_help",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"width": 150,
|
||||||
|
"height": 150,
|
||||||
|
"horizontal_gravity": "right",
|
||||||
|
"vertical_gravity": "bottom",
|
||||||
|
"texture": "resources/fire.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "StaticImage",
|
||||||
|
"name": "shootButton2_help",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"width": 150,
|
||||||
|
"height": 150,
|
||||||
|
"horizontal_gravity": "left",
|
||||||
|
"vertical_gravity": "bottom",
|
||||||
|
"texture": "resources/fire.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "StaticImage",
|
||||||
|
"name": "minusButton_help",
|
||||||
|
"x": -20,
|
||||||
|
"y": 110,
|
||||||
|
"width": 150,
|
||||||
|
"height": 150,
|
||||||
|
"border" : 20,
|
||||||
|
"horizontal_gravity": "right",
|
||||||
|
"vertical_gravity": "bottom",
|
||||||
|
"texture": "resources/button_minus.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "StaticImage",
|
||||||
|
"name": "plusButton_help",
|
||||||
|
"x": -20,
|
||||||
|
"y": 220,
|
||||||
|
"width": 150,
|
||||||
|
"height": 150,
|
||||||
|
"border" : 20,
|
||||||
|
"horizontal_gravity": "right",
|
||||||
|
"vertical_gravity": "bottom",
|
||||||
|
"texture": "resources/button_plus.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "StaticImage",
|
||||||
|
"name": "takeButton_help",
|
||||||
|
"x": -20,
|
||||||
|
"y": 320,
|
||||||
|
"width": 150,
|
||||||
|
"height": 150,
|
||||||
|
"border" : 20,
|
||||||
|
"horizontal_gravity": "right",
|
||||||
|
"vertical_gravity": "bottom",
|
||||||
|
"texture": "resources/button_take.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "StaticImage",
|
||||||
|
"name": "infoButtonBottomRight_help",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"width": 300,
|
||||||
|
"height": 450,
|
||||||
|
"border" : 0,
|
||||||
|
"horizontal_gravity": "right",
|
||||||
|
"vertical_gravity": "bottom",
|
||||||
|
"texture": "resources/help_bottom_right.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "Button",
|
||||||
|
"name": "infoButtonUnderlying_help",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"width": "match_parent",
|
||||||
|
"height": "match_parent",
|
||||||
|
"border" : 0,
|
||||||
|
"textures": {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
@@ -0,0 +1,260 @@
|
|||||||
|
PDN3:K<pdnImage width="300" height="200" layers="3" savedWithVersion="5.112.9563.32325"><custom><thumb png="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 truncated
|
||||||
|
isDisposedlayerswidthheight savedWithuserMetadataItems | ||||||