Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
54c71536b1 | ||
|
|
beac06fd45 | ||
|
|
ca98fea2bd | ||
|
|
84b3c3261c | ||
|
|
a4d5017270 | ||
|
|
45826ab5b5 | ||
|
|
d1f3d67062 | ||
|
|
e5296a41b9 | ||
|
|
18674efd8e | ||
|
|
5e7c050c68 | ||
|
|
c88784a669 | ||
|
|
181132e092 | ||
|
|
6fe10eacfc | ||
|
|
9e692c9ec3 | ||
|
|
3094fc6112 | ||
|
|
785b96ce82 | ||
|
|
a8ded217df | ||
|
|
9e6ff5e08f | ||
|
|
3e8dba36a4 | ||
|
|
24526efb8d | ||
|
|
84a5e888a0 | ||
|
|
e5d7885a12 | ||
|
|
86a9f38c3b | ||
|
|
24aa7007bb | ||
|
|
d151d4bfaf | ||
|
|
147aa266d5 | ||
|
|
2884865b53 | ||
|
|
a1a7f714d9 | ||
|
|
03323638e1 | ||
|
|
bd17d0ff9e |
No files matched your search
@@ -323,7 +323,7 @@ set(_have_freetype TRUE)
|
||||
foreach(cfg IN LISTS BUILD_CONFIGS)
|
||||
if(NOT EXISTS "${FREETYPE_BASE_DIR}-${cfg}/lib/freetype.lib" AND
|
||||
NOT EXISTS "${FREETYPE_BASE_DIR}-${cfg}/lib/freetyped.lib")
|
||||
set(_have_freetype FALSE)
|
||||
#set(_have_freetype FALSE)
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
@@ -391,7 +391,7 @@ foreach(cand
|
||||
endforeach()
|
||||
|
||||
if(_ft_debug_lib STREQUAL "" OR _ft_release_lib STREQUAL "")
|
||||
message(FATAL_ERROR "FreeType libs not found in ${FREETYPE_BASE_DIR}-Debug/Release")
|
||||
# message(FATAL_ERROR "FreeType libs not found in ${FREETYPE_BASE_DIR}-Debug/Release")
|
||||
endif()
|
||||
|
||||
add_library(freetype_external_lib UNKNOWN IMPORTED GLOBAL)
|
||||
@@ -441,7 +441,7 @@ if(NOT _have_sdl2ttf)
|
||||
endforeach()
|
||||
|
||||
if(_FT_LIB STREQUAL "")
|
||||
message(FATAL_ERROR "FreeType library not found for ${cfg}")
|
||||
# message(FATAL_ERROR "FreeType library not found for ${cfg}")
|
||||
endif()
|
||||
|
||||
log("Configuring SDL_ttf (${cfg}) ...")
|
||||
@@ -462,7 +462,7 @@ if(NOT _have_sdl2ttf)
|
||||
RESULT_VARIABLE _ttf_cfg_res
|
||||
)
|
||||
if(NOT _ttf_cfg_res EQUAL 0)
|
||||
message(FATAL_ERROR "SDL_ttf configure failed for ${cfg}")
|
||||
#message(FATAL_ERROR "SDL_ttf configure failed for ${cfg}")
|
||||
endif()
|
||||
|
||||
log("Building SDL_ttf (${cfg}) ...")
|
||||
@@ -472,7 +472,7 @@ if(NOT _have_sdl2ttf)
|
||||
RESULT_VARIABLE _ttf_build_res
|
||||
)
|
||||
if(NOT _ttf_build_res EQUAL 0)
|
||||
message(FATAL_ERROR "SDL_ttf build failed for ${cfg}")
|
||||
#message(FATAL_ERROR "SDL_ttf build failed for ${cfg}")
|
||||
endif()
|
||||
|
||||
log("Installing SDL_ttf (${cfg}) ...")
|
||||
@@ -482,7 +482,7 @@ if(NOT _have_sdl2ttf)
|
||||
RESULT_VARIABLE _ttf_inst_res
|
||||
)
|
||||
if(NOT _ttf_inst_res EQUAL 0)
|
||||
message(FATAL_ERROR "SDL_ttf install failed for ${cfg}")
|
||||
#message(FATAL_ERROR "SDL_ttf install failed for ${cfg}")
|
||||
endif()
|
||||
|
||||
endforeach()
|
||||
@@ -510,7 +510,7 @@ foreach(cand
|
||||
endforeach()
|
||||
|
||||
if(_ttf_debug_lib STREQUAL "" OR _ttf_release_lib STREQUAL "")
|
||||
message(FATAL_ERROR "SDL_ttf libs not found in install-Debug / install-Release")
|
||||
# message(FATAL_ERROR "SDL_ttf libs not found in install-Debug / install-Release")
|
||||
endif()
|
||||
|
||||
add_library(SDL2_ttf_external_lib UNKNOWN IMPORTED GLOBAL)
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover">
|
||||
<title>Space Game</title>
|
||||
<title>Sky Trek Tales</title>
|
||||
<style>
|
||||
body, html {
|
||||
margin: 0; padding: 0; width: 100%; height: 100%;
|
||||
overflow: hidden; background-color: #000;
|
||||
position: fixed; /* Предотвращает pull-to-refresh на Android */
|
||||
position: fixed;
|
||||
}
|
||||
#canvas {
|
||||
display: block;
|
||||
@@ -17,26 +17,174 @@
|
||||
width: 100vw; height: 100vh;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#fs-button {
|
||||
position: absolute;
|
||||
top: 10px; right: 10px;
|
||||
padding: 10px;
|
||||
z-index: 10;
|
||||
background: rgba(255,255,255,0.3);
|
||||
color: white; border: 1px solid white;
|
||||
cursor: pointer;
|
||||
font-family: sans-serif;
|
||||
border-radius: 5px;
|
||||
}
|
||||
#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>
|
||||
</head>
|
||||
<body>
|
||||
<button id="fs-button">Fullscreen</button>
|
||||
<div id="status">Downloading...</div>
|
||||
<canvas id="canvas" oncontextmenu="event.preventDefault()" tabindex="-1"></canvas>
|
||||
<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>
|
||||
var statusElement = document.getElementById("status");
|
||||
var canvas = document.getElementById("canvas");
|
||||
|
||||
var Module = {
|
||||
canvas: canvas,
|
||||
setStatus: function(text) {
|
||||
// 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 не мгновенно.
|
||||
// Ждем завершения анимации поворота.
|
||||
@@ -47,6 +195,6 @@
|
||||
});
|
||||
|
||||
</script>
|
||||
<script async src="space-game001.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,256 @@
|
||||
{
|
||||
"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": 30,
|
||||
"x": -300,
|
||||
"y": 0,
|
||||
"horizontal_gravity": "left",
|
||||
"vertical_gravity": "top",
|
||||
"text": "Producer: Vladislav Khorev",
|
||||
"fontSize": 24,
|
||||
"color": [
|
||||
255,
|
||||
255,
|
||||
255,
|
||||
1
|
||||
],
|
||||
"centered": false
|
||||
},
|
||||
{
|
||||
"type": "TextView",
|
||||
"name": "aboutText2",
|
||||
"width": 434,
|
||||
"height": 30,
|
||||
"x": -300,
|
||||
"y": 40,
|
||||
"horizontal_gravity": "left",
|
||||
"vertical_gravity": "top",
|
||||
"text": "Lead Developer: Vladislav Khorev",
|
||||
"fontSize": 24,
|
||||
"color": [
|
||||
255,
|
||||
255,
|
||||
255,
|
||||
1
|
||||
],
|
||||
"centered": false
|
||||
},
|
||||
{
|
||||
"type": "TextView",
|
||||
"name": "aboutText2",
|
||||
"width": 434,
|
||||
"height": 2,
|
||||
"x": -300,
|
||||
"y": 80,
|
||||
"horizontal_gravity": "left",
|
||||
"vertical_gravity": "top",
|
||||
"text": "Game Designer: Leila Bobrova",
|
||||
"fontSize": 24,
|
||||
"color": [
|
||||
255,
|
||||
255,
|
||||
255,
|
||||
1
|
||||
],
|
||||
"centered": false
|
||||
},
|
||||
{
|
||||
"type": "TextView",
|
||||
"name": "aboutText2",
|
||||
"width": 434,
|
||||
"height": 30,
|
||||
"x": -300,
|
||||
"y": 120,
|
||||
"horizontal_gravity": "left",
|
||||
"vertical_gravity": "top",
|
||||
"text": "Developers: ",
|
||||
"fontSize": 24,
|
||||
"color": [
|
||||
255,
|
||||
255,
|
||||
255,
|
||||
1
|
||||
],
|
||||
"centered": false
|
||||
},
|
||||
{
|
||||
"type": "TextView",
|
||||
"name": "aboutText2",
|
||||
"width": 434,
|
||||
"height": 40,
|
||||
"x": -300,
|
||||
"y": 150,
|
||||
"horizontal_gravity": "left",
|
||||
"vertical_gravity": "top",
|
||||
"text": "Vladislav Kan",
|
||||
"fontSize": 24,
|
||||
"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": "Beksultan Almazbekov",
|
||||
"fontSize": 24,
|
||||
"color": [
|
||||
255,
|
||||
255,
|
||||
255,
|
||||
1
|
||||
],
|
||||
"centered": false
|
||||
},
|
||||
{
|
||||
"type": "TextView",
|
||||
"name": "aboutText2",
|
||||
"width": 434,
|
||||
"height": 40,
|
||||
"x": -300,
|
||||
"y": 210,
|
||||
"horizontal_gravity": "left",
|
||||
"vertical_gravity": "top",
|
||||
"text": "Sergei Zotov",
|
||||
"fontSize": 24,
|
||||
"color": [
|
||||
255,
|
||||
255,
|
||||
255,
|
||||
1
|
||||
],
|
||||
"centered": false
|
||||
},
|
||||
{
|
||||
"type": "TextView",
|
||||
"name": "aboutText2",
|
||||
"width": 434,
|
||||
"height": 40,
|
||||
"x": -300,
|
||||
"y": 250,
|
||||
"horizontal_gravity": "left",
|
||||
"vertical_gravity": "top",
|
||||
"text": "3D Artist: David \"nokken\" Im",
|
||||
"fontSize": 24,
|
||||
"color": [
|
||||
255,
|
||||
255,
|
||||
255,
|
||||
1
|
||||
],
|
||||
"centered": false
|
||||
},
|
||||
{
|
||||
"type": "TextView",
|
||||
"name": "aboutText2",
|
||||
"width": 434,
|
||||
"height": 40,
|
||||
"x": -300,
|
||||
"y": 290,
|
||||
"horizontal_gravity": "left",
|
||||
"vertical_gravity": "top",
|
||||
"text": "UI/UX Design: Kenje Kazmatova",
|
||||
"fontSize": 24,
|
||||
"color": [
|
||||
255,
|
||||
255,
|
||||
255,
|
||||
1
|
||||
],
|
||||
"centered": false
|
||||
},
|
||||
{
|
||||
"type": "TextView",
|
||||
"name": "aboutText2",
|
||||
"width": 434,
|
||||
"height": 40,
|
||||
"x": -300,
|
||||
"y": 330,
|
||||
"horizontal_gravity": "left",
|
||||
"vertical_gravity": "top",
|
||||
"text": "Sky Trek Tales v. 0.1",
|
||||
"fontSize": 24,
|
||||
"color": [
|
||||
255,
|
||||
255,
|
||||
255,
|
||||
1
|
||||
],
|
||||
"centered": false
|
||||
},
|
||||
{
|
||||
"type": "TextView",
|
||||
"name": "aboutText2",
|
||||
"width": 434,
|
||||
"height": 40,
|
||||
"x": -300,
|
||||
"y": 370,
|
||||
"horizontal_gravity": "left",
|
||||
"vertical_gravity": "top",
|
||||
"text": "https://fishrungames.com",
|
||||
"fontSize": 24,
|
||||
"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",
|
||||
"vertical_gravity": "center",
|
||||
"textures": {
|
||||
"normal": "resources/game_over/Filledbuttons.png",
|
||||
"hover": "resources/game_over/Variant5.png",
|
||||
"pressed": "resources/game_over/Variant6.png"
|
||||
"normal": "resources/game_over/reconnect1.png",
|
||||
"hover": "resources/game_over/reconnect2.png",
|
||||
"pressed": "resources/game_over/reconnect3.png"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -27,9 +27,9 @@
|
||||
"horizontal_gravity": "center",
|
||||
"vertical_gravity": "center",
|
||||
"textures": {
|
||||
"normal": "resources/game_over/Filledbuttons.png",
|
||||
"hover": "resources/game_over/Variant5.png",
|
||||
"pressed": "resources/game_over/Variant6.png"
|
||||
"normal": "resources/game_over/reconnect1.png",
|
||||
"hover": "resources/game_over/reconnect2.png",
|
||||
"pressed": "resources/game_over/reconnect3.png"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
{
|
||||
"type": "StaticImage",
|
||||
"name": "titleBtn",
|
||||
"width": 254,
|
||||
"width": 434,
|
||||
"height": 35,
|
||||
"texture": "resources/main_menu/title.png"
|
||||
},
|
||||
@@ -25,15 +25,11 @@
|
||||
"texture": "resources/main_menu/line.png"
|
||||
},
|
||||
{
|
||||
"type": "Button",
|
||||
"type": "StaticImage",
|
||||
"name": "subtitleBtn",
|
||||
"width": 144,
|
||||
"height": 11,
|
||||
"textures": {
|
||||
"normal": "resources/main_menu/subtitle.png",
|
||||
"hover": "resources/main_menu/subtitle.png",
|
||||
"pressed": "resources/main_menu/subtitle.png"
|
||||
}
|
||||
"texture": "resources/main_menu/subtitle.png"
|
||||
},
|
||||
{
|
||||
"type": "Button",
|
||||
@@ -56,6 +52,17 @@
|
||||
"hover": "resources/main_menu/Variant7.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",
|
||||
|
||||
@@ -10,6 +10,13 @@
|
||||
"width": "match_parent",
|
||||
"height": "match_parent",
|
||||
"children": [
|
||||
{
|
||||
"type": "StaticImage",
|
||||
"name": "titleBtn",
|
||||
"width": 266,
|
||||
"height": 66,
|
||||
"texture": "resources/select_your_ship.png"
|
||||
},
|
||||
{
|
||||
"type": "LinearLayout",
|
||||
"orientation": "horizontal",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"emissionRate": 0.4,
|
||||
"emissionRate": 1.2,
|
||||
"maxParticles": 400,
|
||||
"particleSize": 0.3,
|
||||
"biasX": 0.3,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"emissionRate": 0.4,
|
||||
"emissionRate": 1.2,
|
||||
"maxParticles": 400,
|
||||
"particleSize": 0.3,
|
||||
"biasX": 0.3,
|
||||
|
||||
+85
-11
@@ -8,18 +8,73 @@
|
||||
"children": [
|
||||
{
|
||||
"type": "TextView",
|
||||
"name": "velocityText",
|
||||
"x": 10,
|
||||
"y": 10,
|
||||
"name": "gameScoreText",
|
||||
"x": 0,
|
||||
"y": 30,
|
||||
"width": 200,
|
||||
"height": 40,
|
||||
"height": 60,
|
||||
"horizontal_gravity": "left",
|
||||
"vertical_gravity": "top",
|
||||
"text": "Velocity: 0",
|
||||
"fontSize": 24,
|
||||
"color": [1.0, 1.0, 1.0, 1.0],
|
||||
"text": "Score: 0",
|
||||
"fontSize": 36,
|
||||
"color": [
|
||||
0,
|
||||
217,
|
||||
255,
|
||||
1
|
||||
],
|
||||
"centered": false
|
||||
},
|
||||
{
|
||||
"type": "Button",
|
||||
"name": "showPlayersButton",
|
||||
"x": 0,
|
||||
"y": 100,
|
||||
"width": 150,
|
||||
"height": 150,
|
||||
"horizontal_gravity": "left",
|
||||
"vertical_gravity": "top",
|
||||
"textures": {
|
||||
"normal": "resources/button_players.png",
|
||||
"hover": "resources/button_players.png",
|
||||
"pressed": "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"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Button",
|
||||
"name": "shootButton",
|
||||
@@ -64,8 +119,9 @@
|
||||
"vertical_gravity": "bottom",
|
||||
"textures": {
|
||||
"normal": "resources/button_minus.png",
|
||||
"hover": "resources/button_minus_pressed.png",
|
||||
"pressed": "resources/button_minus_pressed.png"
|
||||
"hover": "resources/button_minus.png",
|
||||
"pressed": "resources/button_minus_pressed.png",
|
||||
"disabled" : "resources/button_minus_disabled.png"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -80,8 +136,26 @@
|
||||
"vertical_gravity": "bottom",
|
||||
"textures": {
|
||||
"normal": "resources/button_plus.png",
|
||||
"hover": "resources/button_plus_pressed.png",
|
||||
"pressed": "resources/button_plus_pressed.png"
|
||||
"hover": "resources/button_plus.png",
|
||||
"pressed": "resources/button_plus_pressed.png",
|
||||
"disabled" : "resources/button_plus_disabled.png"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Button",
|
||||
"name": "takeButton",
|
||||
"x": -20,
|
||||
"y": 320,
|
||||
"width": 150,
|
||||
"height": 150,
|
||||
"border" : 20,
|
||||
"horizontal_gravity": "right",
|
||||
"vertical_gravity": "bottom",
|
||||
"textures": {
|
||||
"normal": "resources/button_take.png",
|
||||
"hover": "resources/button_take.png",
|
||||
"pressed": "resources/button_take_pressed.png",
|
||||
"disabled" : "resources/button_take_disabled.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.
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 | ||||