JavaScript-приложения — различия между версиями
Денис (обсуждение | вклад) |
Wikiadmin (обсуждение | вклад) м (Замена текста — «<syntaxhighlight lang="html" line start="1" enclose="div">» на «<syntaxhighlight lang="html5" line start="1" enclose="div">») |
||
(не показано 20 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
+ | [[Виртуальная лаборатория]] > [[JavaScript-приложения]] <HR> | ||
+ | |||
== Случайное блуждание == | == Случайное блуждание == | ||
'''''Это приложение - аналог [[Флэш-приложения:_механика|вот этого flash-приложения]], написанный на JavaScript | '''''Это приложение - аналог [[Флэш-приложения:_механика|вот этого flash-приложения]], написанный на JavaScript | ||
− | |||
Строка 21: | Строка 22: | ||
Текст программы на языке JavaScript (разработчик [[Цветков Денис]]): <toggledisplay status=hide showtext="Показать↓" hidetext="Скрыть↑" linkstyle="font-size:default"> | Текст программы на языке JavaScript (разработчик [[Цветков Денис]]): <toggledisplay status=hide showtext="Показать↓" hidetext="Скрыть↑" linkstyle="font-size:default"> | ||
Файл '''"random_walk.js"''' | Файл '''"random_walk.js"''' | ||
− | < | + | <syntaxhighlight lang="javascript" line start="1" enclose="div"> |
// canvas передается аргументом для того, чтобы была возможность запускать скрипт на несколько canvas'ов | // canvas передается аргументом для того, чтобы была возможность запускать скрипт на несколько canvas'ов | ||
function MainRW(canvas) { | function MainRW(canvas) { | ||
Строка 64: | Строка 65: | ||
} | } | ||
} | } | ||
− | </ | + | </syntaxhighlight> |
Файл '''"random_walk.html"''' | Файл '''"random_walk.html"''' | ||
− | < | + | <syntaxhighlight lang="html5" line start="1" enclose="div"> |
<html> | <html> | ||
<head> | <head> | ||
Строка 75: | Строка 76: | ||
</body> | </body> | ||
</html> | </html> | ||
− | </ | + | </syntaxhighlight> |
</toggledisplay> | </toggledisplay> | ||
Строка 82: | Строка 83: | ||
'''''Это приложение - аналог [[Флэш-приложения: техника программирования|вот этого flash-приложения]], написанный на JavaScript | '''''Это приложение - аналог [[Флэш-приложения: техника программирования|вот этого flash-приложения]], написанный на JavaScript | ||
− | + | ||
− | + | ||
<htmlet nocache="yes">mouse_use_TM</htmlet> | <htmlet nocache="yes">mouse_use_TM</htmlet> | ||
Строка 89: | Строка 90: | ||
Текст программы на языке JavaScript (разработчик [[Цветков Денис]], использована библиотека [http://ocanvas.org/ oCanvas]): <toggledisplay status=hide showtext="Показать↓" hidetext="Скрыть↑" linkstyle="font-size:default"> | Текст программы на языке JavaScript (разработчик [[Цветков Денис]], использована библиотека [http://ocanvas.org/ oCanvas]): <toggledisplay status=hide showtext="Показать↓" hidetext="Скрыть↑" linkstyle="font-size:default"> | ||
Файл '''"mouse_use.js"''' | Файл '''"mouse_use.js"''' | ||
− | < | + | <syntaxhighlight lang="javascript" line start="1" enclose="div"> |
function MainMU() { | function MainMU() { | ||
var canvas = document.getElementById('canvasMU'); | var canvas = document.getElementById('canvasMU'); | ||
Строка 95: | Строка 96: | ||
var w = canvas.width; | var w = canvas.width; | ||
− | var h = canvas. | + | var h = canvas.height; |
var y0 = h / 2; | var y0 = h / 2; | ||
Строка 107: | Строка 108: | ||
var rectangle = canvas.display.rectangle({ | var rectangle = canvas.display.rectangle({ | ||
x: r, | x: r, | ||
− | y: y0-r | + | y: y0-r, |
width: 2*r, | width: 2*r, | ||
height: 2*r, | height: 2*r, | ||
Строка 115: | Строка 116: | ||
var arc = canvas.display.arc({ | var arc = canvas.display.arc({ | ||
x: 5*r, | x: 5*r, | ||
− | y: y0 | + | y: y0, |
radius: r, | radius: r, | ||
start: 0, | start: 0, | ||
Строка 136: | Строка 137: | ||
}); | }); | ||
} | } | ||
− | </ | + | </syntaxhighlight> |
Файл '''"mouse_use.html"''' | Файл '''"mouse_use.html"''' | ||
− | < | + | <syntaxhighlight lang="html5" line start="1" enclose="div"> |
<html> | <html> | ||
<head> | <head> | ||
Строка 148: | Строка 149: | ||
</body> | </body> | ||
</html> | </html> | ||
− | </ | + | </syntaxhighlight> |
</toggledisplay> | </toggledisplay> | ||
− | |||
== Как самому выложить сюда скрипт == | == Как самому выложить сюда скрипт == | ||
− | |||
Один из способов выложить скрипт, использующий canvas, на страничку сайта tm.spbstu.ru: | Один из способов выложить скрипт, использующий canvas, на страничку сайта tm.spbstu.ru: | ||
− | + | * Оформить в скрипте стартовую функцию (как в примерах на этой страничке) | |
− | + | * Сделать специальный HTML-файл для плагина HTMLets. Например: | |
− | |||
− | |||
− | |||
Файл '''"random_walk_TM.html"''' | Файл '''"random_walk_TM.html"''' | ||
− | < | + | <syntaxhighlight lang="html5" line start="1" enclose="div"> |
<canvas id="canvasRW" width="800" height="600"></canvas> | <canvas id="canvasRW" width="800" height="600"></canvas> | ||
<script type="text/javascript">MainRW(document.getElementById('canvasRW'));</script> // MainRW(...) - стартовая функция скрипта | <script type="text/javascript">MainRW(document.getElementById('canvasRW'));</script> // MainRW(...) - стартовая функция скрипта | ||
− | </ | + | </syntaxhighlight> |
− | + | * Загрузить скрипт на сервер в папку jsscripts, а HTML файл - в папку htmlets | |
− | + | '' Примечание. Для того, чтобы загрузить файлы на сервер, обратитесь к [[Панченко_Артём|администратору]] | |
− | + | * При верстке странички на tm.spbstu.ru добавить следующие строки: | |
− | + | <syntaxhighlight lang="html5" line start="1" enclose="div"> | |
− | + | // скрипт добавится на страничку в <head></head> | |
− | + | <htmlet nocache="yes">random_walk_TM</htmlet> // содержимое специального HTML-файла добавится на страницу | |
− | + | </syntaxhighlight> | |
− | + | '' Примечание 1. Не называйте стартовую функцию Main() - она будет пересекаться с уже имеющимися скриптами движка сайта. | |
− | |||
− | |||
− | < | ||
− | |||
− | <htmlet nocache="yes">random_walk_TM</htmlet> // содержимое специального файла добавится на страницу | ||
− | </ | ||
− | |||
− | |||
+ | '' Примечание 2. Не используйте точки в названии файла со скриптом - движок сервера не обработает такой файл. | ||
+ | '' Примечание 3. Можно оформить весь скрипт в htmlet | ||
+ | == См. также == | ||
+ | *[[JavaScript-пружина]] | ||
+ | *[[JavaScript-mechanics]] | ||
+ | *[[JavaScript-mechanics-box2D]] | ||
+ | [[Category: Виртуальная лаборатория]] | ||
[[Category: Программирование]] | [[Category: Программирование]] | ||
+ | [[Category: JavaScript]] |
Текущая версия на 22:02, 10 марта 2015
Виртуальная лаборатория > JavaScript-приложенияСлучайное блуждание[править]
Это приложение - аналог вот этого flash-приложения, написанный на JavaScript
Не удается найти HTML-файл Random_walk_TM.html
|
Не удается найти HTML-файл Random_walk_TM_400x300_1.html
|
Не удается найти HTML-файл Random_walk_TM_400x300_2.html
|
Не удается найти HTML-файл Random_walk_TM_400x300_3.html
|
Текст программы на языке JavaScript (разработчик Цветков Денис): <toggledisplay status=hide showtext="Показать↓" hidetext="Скрыть↑" linkstyle="font-size:default"> Файл "random_walk.js"
1 // canvas передается аргументом для того, чтобы была возможность запускать скрипт на несколько canvas'ов
2 function MainRW(canvas) {
3 var context = canvas.getContext("2d");
4
5 var start = 0;
6 var d, x, y;
7 var w = canvas.width;
8 var h = canvas.height;
9
10 setInterval(tick, 30);
11
12
13 function Rand() {
14 return Math.floor(3 * Math.random()) - 1;
15 }
16
17 function tick() {
18 if (start == 0) {
19 start = 1;
20 d = 10;
21 x = w / 2;
22 y = h / 2;
23 }
24 else {
25 x = x + d * Rand();
26 y = y + d * Rand();
27 if (x < 0) x = x + w;
28 if (x > w-10) x = x - w;
29 if (y < 0) y = y + h;
30 if (y > h-10) y = y - h;
31 }
32
33 context.fillStyle = "rgb("+
34 Math.floor(Math.random()*256)+","+
35 Math.floor(Math.random()*256)+","+
36 Math.floor(Math.random()*256)+")";
37 context.beginPath();
38 context.rect(x, y, d-1, d-1);
39 context.closePath();
40 context.fill();
41 }
42 }
Файл "random_walk.html"
1 <html>
2 <head>
3 <script src="random_walk.js" type="text/javascript"></script>
4 </head>
5 <body onload="MainRW(document.getElementById('canvasRW'));">
6 <canvas id="canvasRW" width="800" height="600" style="border:1px solid #dddddd;"></canvas>
7 </body>
8 </html>
</toggledisplay>
Использование мыши[править]
Это приложение - аналог вот этого flash-приложения, написанный на JavaScript
Текст программы на языке JavaScript (разработчик Цветков Денис, использована библиотека oCanvas): <toggledisplay status=hide showtext="Показать↓" hidetext="Скрыть↑" linkstyle="font-size:default">
Файл "mouse_use.js"
1 function MainMU() {
2 var canvas = document.getElementById('canvasMU');
3 var context = canvas.getContext("2d");
4
5 var w = canvas.width;
6 var h = canvas.height;
7
8 var y0 = h / 2;
9 var r = w / 7;
10
11 var canvas = oCanvas.create({
12 canvas: "#canvasMU",
13 fps: 60
14 });
15
16 var rectangle = canvas.display.rectangle({
17 x: r,
18 y: y0-r,
19 width: 2*r,
20 height: 2*r,
21 fill: "rgba(255, 0, 0, 1)"
22 });
23
24 var arc = canvas.display.arc({
25 x: 5*r,
26 y: y0,
27 radius: r,
28 start: 0,
29 end: 360,
30 fill: "rgba(0, 0, 255, 1)"
31 });
32
33 canvas.addChild(rectangle);
34 canvas.addChild(arc);
35
36 rectangle.dragAndDrop({
37 changeZindex: true,,
38 move: function () {this.fill = "rgba(255, 0, 0, 0.5)";},
39 end: function () {this.fill = "rgba(255, 0, 0, 1)";}
40 });
41 arc.dragAndDrop({
42 changeZindex: true,
43 move: function () {this.fill = "rgba(0, 0, 255, 0.5)";},
44 end: function () {this.fill = "rgba(0, 0, 255, 1)";}
45 });
46 }
Файл "mouse_use.html"
1 <html>
2 <head>
3 <script src="http://cdnjs.cloudflare.com/ajax/libs/ocanvas/2.5.1/ocanvas.min.js"></script>
4 <script src="mouse_use.js" type="text/javascript"></script>
5 </head>
6 <body onload="MainMU();">
7 <canvas id="canvasMU" width="400" height="300" style="border:1px solid #dddddd;"></canvas>
8 </body>
9 </html>
</toggledisplay>
Как самому выложить сюда скрипт[править]
Один из способов выложить скрипт, использующий canvas, на страничку сайта tm.spbstu.ru:
- Оформить в скрипте стартовую функцию (как в примерах на этой страничке)
- Сделать специальный HTML-файл для плагина HTMLets. Например:
Файл "random_walk_TM.html"
1 <canvas id="canvasRW" width="800" height="600"></canvas>
2 <script type="text/javascript">MainRW(document.getElementById('canvasRW'));</script> // MainRW(...) - стартовая функция скрипта
- Загрузить скрипт на сервер в папку jsscripts, а HTML файл - в папку htmlets
Примечание. Для того, чтобы загрузить файлы на сервер, обратитесь к администратору
- При верстке странички на tm.spbstu.ru добавить следующие строки:
1 // скрипт добавится на страничку в <head></head>
2 <htmlet nocache="yes">random_walk_TM</htmlet> // содержимое специального HTML-файла добавится на страницу
Примечание 1. Не называйте стартовую функцию Main() - она будет пересекаться с уже имеющимися скриптами движка сайта.
Примечание 2. Не используйте точки в названии файла со скриптом - движок сервера не обработает такой файл.
Примечание 3. Можно оформить весь скрипт в htmlet