Przeglądaj źródła

ресурсы колобка

master
rodzic
commit
1d643a6ec7
57 zmienionych plików z 125 dodań i 231 usunięć
  1. +0
    -190
      001.мир.js
  2. +0
    -0
      011.настройки.js
  3. +2
    -2
      101.ресурсы.js
  4. +0
    -1
      499.пуск.js
  5. +0
    -0
      999.игра.js
  6. +7
    -4
      index.html
  7. +0
    -1
      json/001.мир.js
  8. +0
    -33
      json/index.html
  9. BIN
      основа.jpg
  10. BIN
      р/вещи/банка_молока.png
  11. BIN
      р/вещи/банка_молока.xcf
  12. BIN
      р/вещи/крышка-подпола.png
  13. BIN
      р/вещи/крышка-подпола.xcf
  14. BIN
      р/вещи/лестница.png
  15. BIN
      р/вещи/лестница.xcf
  16. BIN
      р/вещи/лужа.png
  17. BIN
      р/вещи/лужа.xcf
  18. BIN
      р/вещи/окно.xcf
  19. BIN
      р/вещи/окно_дыра.png
  20. BIN
      р/вещи/окно_разбитая-часть.png
  21. BIN
      р/вещи/самовар.png
  22. BIN
      р/вещи/самовар.xcf
  23. BIN
      р/вещи/стрела.png
  24. BIN
      р/вещи/стрела.xcf
  25. BIN
      р/животные/мышь.png
  26. BIN
      р/животные/мышь.xcf
  27. BIN
      р/животные/паук.png
  28. BIN
      р/животные/паук.xcf
  29. BIN
      р/звуки/235596__tcrocker68__large-glassbottle-fall-woodfloor.wav
  30. BIN
      р/звуки/330800__czarcazas__shattering-glass-small.mp3
  31. BIN
      р/звуки/331381__qubodup__public-domain-jump-sound.wav
  32. BIN
      р/звуки/352065__cabled-mess__glassy-bits-06.wav
  33. BIN
      р/звуки/360432__davethetech__clink-bottle3.wav
  34. BIN
      р/звуки/387922__setuniman__scheming-1o95.mp3
  35. BIN
      р/звуки/437650__dersuperanton__getting-hit-damage-scream.wav
  36. BIN
      р/звуки/448004__kneeling__break-window.mp3
  37. BIN
      р/звуки/521552__omerbhatti34__arrow-impact.mp3
  38. BIN
      р/звуки/543927__eminyildirim__pistol-gun-cocking.wav
  39. +0
    -0
      р/звуки/555803__ddmyzik__sunset-loop.wav
  40. +10
    -0
      р/звуки/README.md
  41. +53
    -0
      р/колобок/анимации/колобок-анимации.autosave.scml
  42. +53
    -0
      р/колобок/анимации/колобок-анимации.scml
  43. BIN
      р/колобок/анимации/колобок_вращение.png
  44. BIN
      р/колобок/анимации/колобок_прыжок.png
  45. BIN
      р/колобок/колобок.png
  46. BIN
      р/колобок/колобок_все.xcf
  47. BIN
      р/колобок/колобок_неподвижен.png
  48. BIN
      р/колобок/колобок_неподвижен.xcf
  49. BIN
      р/колобок/колобок_прыжок.xcf
  50. BIN
      р/отладка/линия_вертикальная.png
  51. BIN
      р/отладка/линия_вертикальная.xcf
  52. +0
    -0
      р/отладка/основа.jpg
  53. BIN
      р/отладка/основа.xcf
  54. BIN
      р/сцены/изба.jpg
  55. BIN
      р/сцены/изба.xcf
  56. BIN
      р/сцены/подпол.jpg
  57. BIN
      р/сцены/подпол.xcf

+ 0
- 190
001.мир.js Wyświetl plik

@@ -1,190 +0,0 @@
/*
*
* Реализация шаблона "издатель-подписчик"
*
*/

function Уведомитель()
{
function Подписка(id, отклик, уведомитель)
{
this.id = id;
this.отклик = отклик;
this.уведомитель = уведомитель;
};

this.уведомить = function()
{
// Попутно собираем подписки без отклика.
var безотклика = [];
for (var номер in this.подписки)
{
var подписка = this.подписки[номер];
if (подписка.отклик)
{
подписка.отклик();
}
else
{
безотклика.push(подписка);
}
}

// И удаляем их.
if (безотклика.length)
{
this._удалитьПодпискиБезОтклика(безотклика);
}
};

this.подписать = function(отклик)
{
var id = this._сгенерироватьUUID();
var подписка = new Подписка(id, отклик, this);
this.подписки.push(подписка);
return подписка;
};

this.отписать = function(подписка)
{
подписка.отклик = null;
};

this._удалитьПодпискиБезОтклика = function(удалить)
{
var подписка = удалить.shift()
while (подписка)
{
var индекс = this.подписки.indexOf(подписка);
if (индекс !== -1)
{
this.подписки.splice(индекс, 1);
}
var подписка = удалить.shift()
}
};

this._сгенерироватьUUID = function()
{
// https://stackoverflow.com/a/2117523
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(
/[xy]/g,
function(c)
{
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
}
);
};

// Конструктор.
this.подписки = [];
}

/*
*
* Связь событий и реакций в виде последовательности (череды)
*
*/

function Мир()
{
// Разобрать события и реакции, выраженные в тексте.
this.разобрать = function(череда)
{
var соответствия = this._событияРеакции(череда);
for (var событие in соответствия)
{
if (!(событие in this.события))
{
this.события[событие] = new Уведомитель();
}
var реакции = соответствия[событие];
for (var номер in реакции)
{
const реакция = реакции[номер];
const название = this._имяФункцииИзРеакции(реакция);
const функция = eval(название);
var тут = this;
this.события[событие].подписать(function(){
функция(тут);
});
}
}
};
// Уведомить о событии при его наличии.
this.уведомить = function(событие)
{
if (событие in this.события)
{
this.события[событие].уведомить();
}
};

// Разобрать текст с событиями и реакциями, вернуть словарь их соответствия.
this._событияРеакции = function(текст)
{
var соответствие = {};
var элементы = текст.split("\n");
var имяСобытия = null;
for (var номер in элементы)
{
var элемент = элементы[номер];
// Пропускаем комментарии.
if (элемент.charAt(0) == "#")
{
continue;
}
var имя = элемент.trim();
// Пропускаем пустые строки.
if (!имя.length)
{
continue;
}
// Событие.
if (имя == элемент)
{
if (!(имя in соответствие))
{
имяСобытия = имя;
соответствие[имя] = [];
}
}
// Реакция.
else
{
соответствие[имяСобытия].push(имя);
}
}
return соответствие;
};

// Преобразовать имя реакции в название функции.
this._имяФункцииИзРеакции = function(реакция)
{
var имя = "";
var части = реакция.split(" ");
for (var номер in части)
{
var часть = части[номер];
имя += часть.charAt(0).toUpperCase() + часть.slice(1);
}
return имя;
};

// Конструктор.
this.события = {};
}

/*
*
* Создание глобального мира.
*
*/

мир = new Мир();

json/011.настройки.js → 011.настройки.js Wyświetl plik


json/101.ресурсы.js → 101.ресурсы.js Wyświetl plik

@@ -1,9 +1,9 @@
мир.ресурсы = {
изображения: {
основа: "основа.jpg",
основа: "р/отладка/основа.jpg",
},
звуки: {
цикл: "loop.wav",
цикл: "р/звуки/555803__ddmyzik__sunset-loop.wav",
},
};


+ 0
- 1
499.пуск.js Wyświetl plik

@@ -1 +0,0 @@
мир.уведомить("пуск");

json/999.игра.js → 999.игра.js Wyświetl plik


+ 7
- 4
index.html Wyświetl plik

@@ -2,7 +2,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>J 0.1.0</title>
<title>K 0.9.0</title>
<script src="https://cdn.jsdelivr.net/npm/phaser@3.54.0/dist/phaser.min.js"></script>
<style>
html, body {
@@ -25,8 +25,11 @@
</head>
<body>
<div id="родитель"></div>
<script src="001.мир.js"></script>
<script src="011.phaser.js"></script>
<script src="499.пуск.js"></script>
<script>
var мир = {};
</script>
<script src="011.настройки.js"></script>
<script src="101.ресурсы.js"></script>
<script src="999.игра.js"></script>
</body>
</html>

+ 0
- 1
json/001.мир.js Wyświetl plik

@@ -1 +0,0 @@
var мир = {};

+ 0
- 33
json/index.html Wyświetl plik

@@ -1,33 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>J 0.1.0</title>
<script src="https://cdn.jsdelivr.net/npm/phaser@3.54.0/dist/phaser.min.js"></script>
<style>
html, body {
margin: 0;
padding: 0;
overflow: hidden;
}

body {
height: 100vh;
width: 100vw;
}

#родитель
{
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div id="родитель"></div>
<script src="001.мир.js"></script>
<script src="011.настройки.js"></script>
<script src="101.ресурсы.js"></script>
<script src="999.игра.js"></script>
</body>
</html>

BIN
основа.jpg Wyświetl plik

Przed Po
Szerokość: 8  |  Wysokość: 8  |  Rozmiar: 1.2KB

BIN
р/вещи/банка_молока.png Wyświetl plik

Przed Po
Szerokość: 113  |  Wysokość: 164  |  Rozmiar: 30KB

BIN
р/вещи/банка_молока.xcf Wyświetl plik


BIN
р/вещи/крышка-подпола.png Wyświetl plik

Przed Po
Szerokość: 341  |  Wysokość: 74  |  Rozmiar: 38KB

BIN
р/вещи/крышка-подпола.xcf Wyświetl plik


BIN
р/вещи/лестница.png Wyświetl plik

Przed Po
Szerokość: 329  |  Wysokość: 1196  |  Rozmiar: 376KB

BIN
р/вещи/лестница.xcf Wyświetl plik


BIN
р/вещи/лужа.png Wyświetl plik

Przed Po
Szerokość: 401  |  Wysokość: 168  |  Rozmiar: 85KB

BIN
р/вещи/лужа.xcf Wyświetl plik


BIN
р/вещи/окно.xcf Wyświetl plik


BIN
р/вещи/окно_дыра.png Wyświetl plik

Przed Po
Szerokość: 291  |  Wysokość: 283  |  Rozmiar: 24KB

BIN
р/вещи/окно_разбитая-часть.png Wyświetl plik

Przed Po
Szerokość: 291  |  Wysokość: 283  |  Rozmiar: 36KB

BIN
р/вещи/самовар.png Wyświetl plik

Przed Po
Szerokość: 291  |  Wysokość: 518  |  Rozmiar: 161KB

BIN
р/вещи/самовар.xcf Wyświetl plik


BIN
р/вещи/стрела.png Wyświetl plik

Przed Po
Szerokość: 368  |  Wysokość: 59  |  Rozmiar: 23KB

BIN
р/вещи/стрела.xcf Wyświetl plik


BIN
р/животные/мышь.png Wyświetl plik

Przed Po
Szerokość: 59  |  Wysokość: 20  |  Rozmiar: 3.7KB

BIN
р/животные/мышь.xcf Wyświetl plik


BIN
р/животные/паук.png Wyświetl plik

Przed Po
Szerokość: 44  |  Wysokość: 31  |  Rozmiar: 4.6KB

BIN
р/животные/паук.xcf Wyświetl plik


BIN
р/звуки/235596__tcrocker68__large-glassbottle-fall-woodfloor.wav Wyświetl plik


BIN
р/звуки/330800__czarcazas__shattering-glass-small.mp3 Wyświetl plik


BIN
р/звуки/331381__qubodup__public-domain-jump-sound.wav Wyświetl plik


BIN
р/звуки/352065__cabled-mess__glassy-bits-06.wav Wyświetl plik


BIN
р/звуки/360432__davethetech__clink-bottle3.wav Wyświetl plik


BIN
р/звуки/387922__setuniman__scheming-1o95.mp3 Wyświetl plik


BIN
р/звуки/437650__dersuperanton__getting-hit-damage-scream.wav Wyświetl plik


BIN
р/звуки/448004__kneeling__break-window.mp3 Wyświetl plik


BIN
р/звуки/521552__omerbhatti34__arrow-impact.mp3 Wyświetl plik


BIN
р/звуки/543927__eminyildirim__pistol-gun-cocking.wav Wyświetl plik


json/loop.wav → р/звуки/555803__ddmyzik__sunset-loop.wav Wyświetl plik


+ 10
- 0
р/звуки/README.md Wyświetl plik

@@ -0,0 +1,10 @@
* https://freesound.org/people/DDmyzik/sounds/555803/
* https://freesound.org/people/Setuniman/sounds/387922/
* https://freesound.org/people/qubodup/sounds/331381/
* https://freesound.org/people/davethetech/sounds/360432/
* https://freesound.org/people/omerbhatti34/sounds/521552/
* https://freesound.org/people/Czarcazas/sounds/330800/
* https://freesound.org/people/Kneeling/sounds/448004/
* https://freesound.org/people/EminYILDIRIM/sounds/543927/
* https://freesound.org/people/tcrocker68/sounds/235596/
* https://freesound.org/people/cabled_mess/sounds/352065/

+ 53
- 0
р/колобок/анимации/колобок-анимации.autosave.scml Wyświetl plik

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<spriter_data scml_version="1.0" generator="BrashMonkey Spriter" generator_version="r9">
<folder id="0">
<file id="0" name="колобок_вращение.png" width="70" height="70" pivot_x="0.5" pivot_y="0.5"/>
<file id="1" name="колобок_прыжок.png" width="56" height="90" pivot_x="0.5" pivot_y="0.357143"/>
</folder>
<entity id="0" name="колобок">
<animation id="0" name="крутится-прыгает" length="1500" interval="100">
<mainline>
<key id="0">
<object_ref id="0" timeline="0" key="0" z_index="0"/>
</key>
<key id="1" time="200">
<object_ref id="0" timeline="0" key="1" z_index="0"/>
</key>
<key id="2" time="400">
<object_ref id="0" timeline="0" key="2" z_index="0"/>
</key>
<key id="3" time="600">
<object_ref id="0" timeline="0" key="3" z_index="0"/>
</key>
<key id="4" time="800">
<object_ref id="0" timeline="0" key="4" z_index="0"/>
</key>
<key id="5" time="1000">
<object_ref id="0" timeline="1" key="0" z_index="0"/>
</key>
</mainline>
<timeline id="0" name="колобок_вращение">
<key id="0">
<object folder="0" file="0" angle="0"/>
</key>
<key id="1" time="200">
<object folder="0" file="0" angle="90"/>
</key>
<key id="2" time="400">
<object folder="0" file="0" angle="180"/>
</key>
<key id="3" time="600">
<object folder="0" file="0" angle="270"/>
</key>
<key id="4" time="800" spin="0">
<object folder="0" file="0" angle="0"/>
</key>
</timeline>
<timeline id="1" name="колобок_прыжок">
<key id="0" time="1000" spin="0">
<object folder="0" file="1"/>
</key>
</timeline>
</animation>
</entity>
</spriter_data>

+ 53
- 0
р/колобок/анимации/колобок-анимации.scml Wyświetl plik

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<spriter_data scml_version="1.0" generator="BrashMonkey Spriter" generator_version="r9">
<folder id="0">
<file id="0" name="колобок_вращение.png" width="70" height="70" pivot_x="0.5" pivot_y="0.5"/>
<file id="1" name="колобок_прыжок.png" width="56" height="90" pivot_x="0.5" pivot_y="0.357143"/>
</folder>
<entity id="0" name="колобок">
<animation id="0" name="крутится-прыгает" length="1500" interval="100">
<mainline>
<key id="0">
<object_ref id="0" timeline="0" key="0" z_index="0"/>
</key>
<key id="1" time="200">
<object_ref id="0" timeline="0" key="1" z_index="0"/>
</key>
<key id="2" time="400">
<object_ref id="0" timeline="0" key="2" z_index="0"/>
</key>
<key id="3" time="600">
<object_ref id="0" timeline="0" key="3" z_index="0"/>
</key>
<key id="4" time="800">
<object_ref id="0" timeline="0" key="4" z_index="0"/>
</key>
<key id="5" time="1000">
<object_ref id="0" timeline="1" key="0" z_index="0"/>
</key>
</mainline>
<timeline id="0" name="колобок_вращение">
<key id="0">
<object folder="0" file="0" angle="0"/>
</key>
<key id="1" time="200">
<object folder="0" file="0" angle="90"/>
</key>
<key id="2" time="400">
<object folder="0" file="0" angle="180"/>
</key>
<key id="3" time="600">
<object folder="0" file="0" angle="270"/>
</key>
<key id="4" time="800" spin="0">
<object folder="0" file="0" angle="0"/>
</key>
</timeline>
<timeline id="1" name="колобок_прыжок">
<key id="0" time="1000" spin="0">
<object folder="0" file="1"/>
</key>
</timeline>
</animation>
</entity>
</spriter_data>

BIN
р/колобок/анимации/колобок_вращение.png Wyświetl plik

Przed Po
Szerokość: 70  |  Wysokość: 70  |  Rozmiar: 5.9KB

BIN
р/колобок/анимации/колобок_прыжок.png Wyświetl plik

Przed Po
Szerokość: 56  |  Wysokość: 90  |  Rozmiar: 9.0KB

BIN
р/колобок/колобок.png Wyświetl plik

Przed Po
Szerokość: 2425  |  Wysokość: 94  |  Rozmiar: 85KB

BIN
р/колобок/колобок_все.xcf Wyświetl plik


BIN
р/колобок/колобок_неподвижен.png Wyświetl plik

Przed Po
Szerokość: 70  |  Wysokość: 70  |  Rozmiar: 7.9KB

BIN
р/колобок/колобок_неподвижен.xcf Wyświetl plik


BIN
р/колобок/колобок_прыжок.xcf Wyświetl plik


BIN
р/отладка/линия_вертикальная.png Wyświetl plik

Przed Po
Szerokość: 3  |  Wysokość: 1  |  Rozmiar: 573B

BIN
р/отладка/линия_вертикальная.xcf Wyświetl plik


json/основа.jpg → р/отладка/основа.jpg Wyświetl plik


BIN
р/отладка/основа.xcf Wyświetl plik


BIN
р/сцены/изба.jpg Wyświetl plik

Przed Po
Szerokość: 2000  |  Wysokość: 600  |  Rozmiar: 112KB

BIN
р/сцены/изба.xcf Wyświetl plik


BIN
р/сцены/подпол.jpg Wyświetl plik

Przed Po
Szerokość: 2000  |  Wysokość: 600  |  Rozmiar: 26KB

BIN
р/сцены/подпол.xcf Wyświetl plik


Ładowanie…
Anuluj
Zapisz