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)
|
foreach(cfg IN LISTS BUILD_CONFIGS)
|
||||||
if(NOT EXISTS "${FREETYPE_BASE_DIR}-${cfg}/lib/freetype.lib" AND
|
if(NOT EXISTS "${FREETYPE_BASE_DIR}-${cfg}/lib/freetype.lib" AND
|
||||||
NOT EXISTS "${FREETYPE_BASE_DIR}-${cfg}/lib/freetyped.lib")
|
NOT EXISTS "${FREETYPE_BASE_DIR}-${cfg}/lib/freetyped.lib")
|
||||||
set(_have_freetype FALSE)
|
#set(_have_freetype FALSE)
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
@@ -391,7 +391,7 @@ foreach(cand
|
|||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
if(_ft_debug_lib STREQUAL "" OR _ft_release_lib STREQUAL "")
|
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()
|
endif()
|
||||||
|
|
||||||
add_library(freetype_external_lib UNKNOWN IMPORTED GLOBAL)
|
add_library(freetype_external_lib UNKNOWN IMPORTED GLOBAL)
|
||||||
@@ -441,7 +441,7 @@ if(NOT _have_sdl2ttf)
|
|||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
if(_FT_LIB STREQUAL "")
|
if(_FT_LIB STREQUAL "")
|
||||||
message(FATAL_ERROR "FreeType library not found for ${cfg}")
|
# message(FATAL_ERROR "FreeType library not found for ${cfg}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
log("Configuring SDL_ttf (${cfg}) ...")
|
log("Configuring SDL_ttf (${cfg}) ...")
|
||||||
@@ -462,7 +462,7 @@ if(NOT _have_sdl2ttf)
|
|||||||
RESULT_VARIABLE _ttf_cfg_res
|
RESULT_VARIABLE _ttf_cfg_res
|
||||||
)
|
)
|
||||||
if(NOT _ttf_cfg_res EQUAL 0)
|
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()
|
endif()
|
||||||
|
|
||||||
log("Building SDL_ttf (${cfg}) ...")
|
log("Building SDL_ttf (${cfg}) ...")
|
||||||
@@ -472,7 +472,7 @@ if(NOT _have_sdl2ttf)
|
|||||||
RESULT_VARIABLE _ttf_build_res
|
RESULT_VARIABLE _ttf_build_res
|
||||||
)
|
)
|
||||||
if(NOT _ttf_build_res EQUAL 0)
|
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()
|
endif()
|
||||||
|
|
||||||
log("Installing SDL_ttf (${cfg}) ...")
|
log("Installing SDL_ttf (${cfg}) ...")
|
||||||
@@ -482,7 +482,7 @@ if(NOT _have_sdl2ttf)
|
|||||||
RESULT_VARIABLE _ttf_inst_res
|
RESULT_VARIABLE _ttf_inst_res
|
||||||
)
|
)
|
||||||
if(NOT _ttf_inst_res EQUAL 0)
|
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()
|
endif()
|
||||||
|
|
||||||
endforeach()
|
endforeach()
|
||||||
@@ -510,7 +510,7 @@ foreach(cand
|
|||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
if(_ttf_debug_lib STREQUAL "" OR _ttf_release_lib STREQUAL "")
|
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()
|
endif()
|
||||||
|
|
||||||
add_library(SDL2_ttf_external_lib UNKNOWN IMPORTED GLOBAL)
|
add_library(SDL2_ttf_external_lib UNKNOWN IMPORTED GLOBAL)
|
||||||
@@ -546,4 +546,4 @@ if(NOT TARGET boost_external_lib)
|
|||||||
add_library(boost_external_lib INTERFACE)
|
add_library(boost_external_lib INTERFACE)
|
||||||
# Boost заголовки находятся непосредственно в корне распакованной папки
|
# Boost заголовки находятся непосредственно в корне распакованной папки
|
||||||
target_include_directories(boost_external_lib INTERFACE "${BOOST_SRC_DIR}")
|
target_include_directories(boost_external_lib INTERFACE "${BOOST_SRC_DIR}")
|
||||||
endif()
|
endif()
|
||||||
@@ -3,12 +3,12 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<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">
|
<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>
|
<style>
|
||||||
body, html {
|
body, html {
|
||||||
margin: 0; padding: 0; width: 100%; height: 100%;
|
margin: 0; padding: 0; width: 100%; height: 100%;
|
||||||
overflow: hidden; background-color: #000;
|
overflow: hidden; background-color: #000;
|
||||||
position: fixed; /* Предотвращает pull-to-refresh на Android */
|
position: fixed;
|
||||||
}
|
}
|
||||||
#canvas {
|
#canvas {
|
||||||
display: block;
|
display: block;
|
||||||
@@ -17,26 +17,174 @@
|
|||||||
width: 100vw; height: 100vh;
|
width: 100vw; height: 100vh;
|
||||||
border: none;
|
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%); }
|
#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>
|
||||||
<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>
|
||||||
|
<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>
|
<script>
|
||||||
var statusElement = document.getElementById("status");
|
// Utility: подготовить глобальный Module до загрузки Emscripten-скрипта
|
||||||
var canvas = document.getElementById("canvas");
|
function prepareModuleEnvironment() {
|
||||||
|
window.Module = window.Module || {};
|
||||||
var Module = {
|
var canvasEl = document.getElementById('canvas');
|
||||||
canvas: canvas,
|
// Устанавливаем canvas для Emscripten, чтобы createContext не падал
|
||||||
setStatus: function(text) {
|
window.Module.canvas = canvasEl;
|
||||||
|
// Подготовим заглушку setStatus, если ещё нет
|
||||||
|
window.Module.setStatus = window.Module.setStatus || function (text) {
|
||||||
|
var statusElement = document.getElementById("status");
|
||||||
statusElement.innerHTML = text;
|
statusElement.innerHTML = text;
|
||||||
statusElement.style.display = text ? 'block' : 'none';
|
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() {
|
window.addEventListener("orientationchange", function() {
|
||||||
// Chrome на Android обновляет innerWidth/Height не мгновенно.
|
// Chrome на Android обновляет innerWidth/Height не мгновенно.
|
||||||
// Ждем завершения анимации поворота.
|
// Ждем завершения анимации поворота.
|
||||||
@@ -47,6 +195,6 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<script async src="space-game001.js"></script>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</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",
|
"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"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
{
|
{
|
||||||
"type": "StaticImage",
|
"type": "StaticImage",
|
||||||
"name": "titleBtn",
|
"name": "titleBtn",
|
||||||
"width": 254,
|
"width": 434,
|
||||||
"height": 35,
|
"height": 35,
|
||||||
"texture": "resources/main_menu/title.png"
|
"texture": "resources/main_menu/title.png"
|
||||||
},
|
},
|
||||||
@@ -25,15 +25,11 @@
|
|||||||
"texture": "resources/main_menu/line.png"
|
"texture": "resources/main_menu/line.png"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Button",
|
"type": "StaticImage",
|
||||||
"name": "subtitleBtn",
|
"name": "subtitleBtn",
|
||||||
"width": 144,
|
"width": 144,
|
||||||
"height": 11,
|
"height": 11,
|
||||||
"textures": {
|
"texture": "resources/main_menu/subtitle.png"
|
||||||
"normal": "resources/main_menu/subtitle.png",
|
|
||||||
"hover": "resources/main_menu/subtitle.png",
|
|
||||||
"pressed": "resources/main_menu/subtitle.png"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Button",
|
"type": "Button",
|
||||||
@@ -56,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",
|
||||||
|
|||||||
@@ -10,6 +10,13 @@
|
|||||||
"width": "match_parent",
|
"width": "match_parent",
|
||||||
"height": "match_parent",
|
"height": "match_parent",
|
||||||
"children": [
|
"children": [
|
||||||
|
{
|
||||||
|
"type": "StaticImage",
|
||||||
|
"name": "titleBtn",
|
||||||
|
"width": 266,
|
||||||
|
"height": 66,
|
||||||
|
"texture": "resources/select_your_ship.png"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "LinearLayout",
|
"type": "LinearLayout",
|
||||||
"orientation": "horizontal",
|
"orientation": "horizontal",
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"emissionRate": 0.4,
|
"emissionRate": 1.2,
|
||||||
"maxParticles": 400,
|
"maxParticles": 400,
|
||||||
"particleSize": 0.3,
|
"particleSize": 0.3,
|
||||||
"biasX": 0.3,
|
"biasX": 0.3,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"emissionRate": 0.4,
|
"emissionRate": 1.2,
|
||||||
"maxParticles": 400,
|
"maxParticles": 400,
|
||||||
"particleSize": 0.3,
|
"particleSize": 0.3,
|
||||||
"biasX": 0.3,
|
"biasX": 0.3,
|
||||||
|
|||||||
+85
-11
@@ -8,18 +8,73 @@
|
|||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"type": "TextView",
|
"type": "TextView",
|
||||||
"name": "velocityText",
|
"name": "gameScoreText",
|
||||||
"x": 10,
|
"x": 0,
|
||||||
"y": 10,
|
"y": 30,
|
||||||
"width": 200,
|
"width": 200,
|
||||||
"height": 40,
|
"height": 60,
|
||||||
"horizontal_gravity": "left",
|
"horizontal_gravity": "left",
|
||||||
"vertical_gravity": "top",
|
"vertical_gravity": "top",
|
||||||
"text": "Velocity: 0",
|
"text": "Score: 0",
|
||||||
"fontSize": 24,
|
"fontSize": 36,
|
||||||
"color": [1.0, 1.0, 1.0, 1.0],
|
"color": [
|
||||||
|
0,
|
||||||
|
217,
|
||||||
|
255,
|
||||||
|
1
|
||||||
|
],
|
||||||
"centered": false
|
"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",
|
"type": "Button",
|
||||||
"name": "shootButton",
|
"name": "shootButton",
|
||||||
@@ -64,8 +119,9 @@
|
|||||||
"vertical_gravity": "bottom",
|
"vertical_gravity": "bottom",
|
||||||
"textures": {
|
"textures": {
|
||||||
"normal": "resources/button_minus.png",
|
"normal": "resources/button_minus.png",
|
||||||
"hover": "resources/button_minus_pressed.png",
|
"hover": "resources/button_minus.png",
|
||||||
"pressed": "resources/button_minus_pressed.png"
|
"pressed": "resources/button_minus_pressed.png",
|
||||||
|
"disabled" : "resources/button_minus_disabled.png"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -80,8 +136,26 @@
|
|||||||
"vertical_gravity": "bottom",
|
"vertical_gravity": "bottom",
|
||||||
"textures": {
|
"textures": {
|
||||||
"normal": "resources/button_plus.png",
|
"normal": "resources/button_plus.png",
|
||||||
"hover": "resources/button_plus_pressed.png",
|
"hover": "resources/button_plus.png",
|
||||||
"pressed": "resources/button_plus_pressed.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 | ||||||