Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ru]: auto-fix links #25035

Merged
merged 3 commits into from
Dec 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ slug: Games/Techniques/3D_on_the_web/Building_up_a_basic_demo_with_Three.js

- Удостовериться, что вы используете современную версию браузера с поддержкой [WebGL](/ru/docs/Web/API/WebGL_API), например, Firefox или Chrome.
- Создать папку для экспериментов.
- Сохранить копию [последней версии библиотеки Three.js](http://threejs.org/build/three.min.js) в вашей папке.
- Открыть [документацию Three.js](http://threejs.org/docs/) в отдельной вкладке.
- Сохранить копию [последней версии библиотеки Three.js](https://threejs.org/build/three.min.js) в вашей папке.
- Открыть [документацию Three.js](https://threejs.org/docs/) в отдельной вкладке.

## HTML структура

Expand Down Expand Up @@ -105,7 +105,7 @@ scene.add(camera);

## Отрисовка сцены

Всё уже готово, но мы пока что ничего не видим. Хотя мы настроили рендерер, нам всё равно нужно запустить рендеринг. Функция `render()` выполнит эту работу с небольшой помощью [`requestAnimationFrame()`](/ru/docs/Web/API/window/requestAnimationFrame), которая заставляет сцену постоянно перерисовываться в каждом кадре:
Всё уже готово, но мы пока что ничего не видим. Хотя мы настроили рендерер, нам всё равно нужно запустить рендеринг. Функция `render()` выполнит эту работу с небольшой помощью [`requestAnimationFrame()`](/ru/docs/Web/API/Window/requestAnimationFrame), которая заставляет сцену постоянно перерисовываться в каждом кадре:

```js
function render() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ To actually apply the newly created shaders to the cube, comment out the `basicM
// var basicMaterial = new THREE.MeshBasicMaterial({color: 0x0095DD});
```

Далее, создаём [`shaderMaterial`](http://threejs.org/docs/#Reference/Materials/ShaderMaterial):
Далее, создаём [`shaderMaterial`](https://threejs.org/docs/#Reference/Materials/ShaderMaterial):

```js
var shaderMaterial = new THREE.ShaderMaterial({
Expand Down Expand Up @@ -237,4 +237,4 @@ This article has taught the very basics of shaders. Our example doesn't do much
## Смотрите также

- [Изучение WebGL](http://learningwebgl.com/blog/?page_id=1217) — for general WebGL knowledge
- [WebGL шейдеры и GLSL основы](http://webglfundamentals.org/webgl/lessons/webgl-shaders-and-glsl.html) — for GLSL specific information
- [WebGL шейдеры и GLSL основы](https://webglfundamentals.org/webgl/lessons/webgl-shaders-and-glsl.html) — for GLSL specific information
2 changes: 1 addition & 1 deletion files/ru/games/techniques/async_scripts/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ document.body.appendChild(script);

## Когда асинхронный не асинхронный?

Две распространённые ситуации, в которых сценарий не асинхронен (как [определено спецификацией HTML](http://www.w3.org/TR/html5/scripting-1.html) ):
Две распространённые ситуации, в которых сценарий не асинхронен (как [определено спецификацией HTML](https://www.w3.org/TR/html5/scripting-1.html) ):

```html
<script async src="file.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion files/ru/games/techniques/controls_gamepad_api/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ slug: Games/Techniques/Controls_Gamepad_API

## API статус и поддержка браузера

[Gamepad API](http://www.w3.org/TR/gamepad/) все ещё находится на стадии рабочего проекта в процессе W3C, что означает, что его реализация все ещё может измениться, но говорит о том, что поддержка браузера уже довольно хороша. Firefox 29+ и Chrome 35+ поддерживают его сразу после установки. Opera поддерживает API в версии 22+ (неудивительно, учитывая, что теперь они используют движок Blink Chrome.) И Microsoft недавно реализовала поддержку API в Edge,что означает, что четыре основных браузера теперь поддерживают API Gamepad.
[Gamepad API](https://www.w3.org/TR/gamepad/) все ещё находится на стадии рабочего проекта в процессе W3C, что означает, что его реализация все ещё может измениться, но говорит о том, что поддержка браузера уже довольно хороша. Firefox 29+ и Chrome 35+ поддерживают его сразу после установки. Opera поддерживает API в версии 22+ (неудивительно, учитывая, что теперь они используют движок Blink Chrome.) И Microsoft недавно реализовала поддержку API в Edge,что означает, что четыре основных браузера теперь поддерживают API Gamepad.

## Какие геймпады лучше всего?

Expand Down
4 changes: 2 additions & 2 deletions files/ru/games/tools/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ slug: Games/Tools
- : Shumway это рендер для Adobe Flash построенный полностью на JavaScript, WebGL, etc., преодолевающий разрыв между Flash и web-стандартами. Это статья поясняет, как пользоваться Shumway,и как вносить исправления в проекте.
- Инструментарий для разработки и отладки игр

- : Чем это отличается от обычной отладки веб-приложения? Какие специальные инструменты доступны? Многое из этого доступно в [инструментах](/ru/docs/Tools), но здесь мы должны обеспечить своего рода практический учебник для отладки игры, с ссылками :
- : Чем это отличается от обычной отладки веб-приложения? Какие специальные инструменты доступны? Многое из этого доступно в [инструментах](https://firefox-source-docs.mozilla.org/devtools-user/index.html), но здесь мы должны обеспечить своего рода практический учебник для отладки игры, с ссылками :

- Обзор базовых инструментов
- [Редактор шейдеров](/ru/docs/Tools/Shader_Editor)
- [Редактор шейдеров](https://firefox-source-docs.mozilla.org/devtools-user/shader_editor/index.html)
- Производственные инструменты (все ещё находятся в производстве, по оценкам, в начале 2014 года)
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ function ballHitBrick(ball, brick) {

Спасибо Phaser за то, что передал нам в функцию эти два параметра — мячик и тот кирпич, с которым у мячика произошла коллизия. А дальше мы просто удаляем кирпич с экрана, вызвав у него функцию `kill()`.

Вы думали, что нам придётся писать много кода для отслеживания коллизий, как мы это делали на [чистом JavaScript](/ru/docs/Games/Workflows/2D_Breakout_game_pure_JavaScript/Collision_detection)? В этом и прелесть фреймворков — рутину они сделают за нас, а мы, в это время, можем сосредоточиться на действительно интересных вещах.
Вы думали, что нам придётся писать много кода для отслеживания коллизий, как мы это делали на [чистом JavaScript](/ru/docs/Games/Tutorials/2D_Breakout_game_pure_JavaScript/Collision_detection)? В этом и прелесть фреймворков — рутину они сделают за нас, а мы, в это время, можем сосредоточиться на действительно интересных вещах.

## Сравните свой код

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,6 @@ function ballLeaveScreen() {

## Следующий шаг

Жизни делают игру более казуальной — даже если вы проиграете единожды, у вас будут ещё 2 жизни и вы сможете продолжить игру. Теперь мы можем поработать над внешним видом игры, сделать её более красивой, добавив [анимацию и эффекты](/ru/docs/Games/Workflows/2D_Breakout_game_Phaser/Animations_and_tweens).
Жизни делают игру более казуальной — даже если вы проиграете единожды, у вас будут ещё 2 жизни и вы сможете продолжить игру. Теперь мы можем поработать над внешним видом игры, сделать её более красивой, добавив [анимацию и эффекты](/ru/docs/Games/Tutorials/2D_breakout_game_Phaser/Animations_and_tweens).

{{PreviousNext("Games/Workflows/2D_Breakout_game_Phaser/Win_the_game", "Games/Workflows/2D_Breakout_game_Phaser/Animations_and_tweens")}}
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,6 @@ ball.events.onOutOfBounds.add(function () {

## Следующий шаг

Базовый геймплей готов. Но какой арканоид без разбивания [кирпичиков](/ru/docs/Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser/Создание_кирпичей)?
Базовый геймплей готов. Но какой арканоид без разбивания [кирпичиков](/ru/docs/Games/Tutorials/2D_breakout_game_Phaser/Build_the_brick_field)?

{{PreviousNext("Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser/Платформа_и_управление", "Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser/Создание_кирпичей")}}
26 changes: 13 additions & 13 deletions files/ru/games/tutorials/2d_breakout_game_phaser/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,18 @@ slug: Games/Tutorials/2D_breakout_game_Phaser

Все уроки и различные версии [MDN Breakout](https://end3r.github.io/Gamedev-Phaser-Content-Kit/demos/lesson16.html), которые мы сделаем вместе, доступны на [GitHub](https://end3r.github.io/Gamedev-Phaser-Content-Kit/demos/):

1. [Инициализация фреймворка](/ru/docs/Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser/Initialize_the_framework)
2. [Масштабирование](/ru/docs/Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser/Scaling)
3. [Загрузка ресурсов и их вывод](/ru/docs/Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser/Load_the_assets_and_print_them_on_screen)
4. [Движение мяча](/ru/docs/Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser/Move_the_ball)
5. [Физика](/ru/docs/Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser/Physics)
6. [Отскакивание от стен](/ru/docs/Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser/Bounce_off_the_walls)
7. [Управление](/ru/docs/Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser/Платформа_и_управление)
8. [Конец игры](/ru/docs/Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser/Game_over)
9. [Создание поля блоков](/ru/docs/Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser/Создание_кирпичей)
10. [Определение столкновения](/ru/docs/Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser/Обработка_коллизий)
11. [Счёт](/ru/docs/Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser/Очки)
12. [Победа в игре](/ru/docs/Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser/Победа)
1. [Инициализация фреймворка](/ru/docs/Games/Tutorials/2D_breakout_game_Phaser/Initialize_the_framework)
2. [Масштабирование](/ru/docs/Games/Tutorials/2D_breakout_game_Phaser/Scaling)
3. [Загрузка ресурсов и их вывод](/ru/docs/Games/Tutorials/2D_breakout_game_Phaser/Load_the_assets_and_print_them_on_screen)
4. [Движение мяча](/ru/docs/Games/Tutorials/2D_breakout_game_Phaser/Move_the_ball)
5. [Физика](/ru/docs/Games/Tutorials/2D_breakout_game_Phaser/Physics)
6. [Отскакивание от стен](/ru/docs/Games/Tutorials/2D_breakout_game_Phaser/Bounce_off_the_walls)
7. [Управление](/ru/docs/Games/Tutorials/2D_breakout_game_Phaser/Player_paddle_and_controls)
8. [Конец игры](/ru/docs/Games/Tutorials/2D_breakout_game_Phaser/Game_over)
9. [Создание поля блоков](/ru/docs/Games/Tutorials/2D_breakout_game_Phaser/Build_the_brick_field)
10. [Определение столкновения](/ru/docs/Games/Tutorials/2D_breakout_game_Phaser/Collision_detection)
11. [Счёт](/ru/docs/Games/Tutorials/2D_breakout_game_Phaser/The_score)
12. [Победа в игре](/ru/docs/Games/Tutorials/2D_breakout_game_Phaser/Win_the_game)
13. [Добавление жизней](/ru/docs/Games/Tutorials/2D_breakout_game_Phaser/Extra_lives)
14. [Анимация](/ru/docs/Games/Tutorials/2D_breakout_game_Phaser/Animations_and_tweens)
15. [Кнопки](/ru/docs/Games/Tutorials/2D_breakout_game_Phaser/Buttons)
Expand All @@ -43,6 +43,6 @@ slug: Games/Tutorials/2D_breakout_game_Phaser

## Следующие шаги

Давайте начнём! Первая часть руководства — это [Инициализация фреймворка](/ru/docs/Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser/Initialize_the_framework).
Давайте начнём! Первая часть руководства — это [Инициализация фреймворка](/ru/docs/Games/Tutorials/2D_breakout_game_Phaser/Initialize_the_framework).

{{Next("Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser/Initialize_the_framework")}}
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,6 @@ ball.body.velocity.set(150, -150);

## Следующий шаг

Мы можем управлять платформой и сделали так, чтобы мячик отскакивал от неё. Но какой от этого толк, если мячик отскакивает и от нижней грани экрана? В следующей главе мы добавим [логику проигрыша и экран "Game over"](/ru/docs/Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser/Game_over).
Мы можем управлять платформой и сделали так, чтобы мячик отскакивал от неё. Но какой от этого толк, если мячик отскакивает и от нижней грани экрана? В следующей главе мы добавим [логику проигрыша и экран "Game over"](/ru/docs/Games/Tutorials/2D_breakout_game_Phaser/Game_over).

{{PreviousNext("Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser/Bounce_off_the_walls", "Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser/Game_over")}}
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ slug: Games/Tutorials/2D_Breakout_game_pure_JavaScript/Bounce_off_the_walls

{{GamesSidebar}}{{PreviousNext("Games/Tutorials/2D_Breakout_game_pure_JavaScript/Переместить_мяч", "Games/Tutorials/2D_Breakout_game_pure_JavaScript/Paddle_and_keyboard_controls")}}

Это 3-й этап из 10 [Gamedev Canvas tutorial](/ru/docs/Games/Workflows/Breakout_game_from_scratch). Вы можете найти исходный код как он должен выглядеть после завершения этого урока в [Gamedev-Canvas-workshop/lesson3.html](https://github.com/end3r/Gamedev-Canvas-workshop/blob/gh-pages/lesson03.html).
Это 3-й этап из 10 [Gamedev Canvas tutorial](/ru/docs/Games/Tutorials/2D_Breakout_game_pure_JavaScript). Вы можете найти исходный код как он должен выглядеть после завершения этого урока в [Gamedev-Canvas-workshop/lesson3.html](https://github.com/end3r/Gamedev-Canvas-workshop/blob/gh-pages/lesson03.html).

Приятно наблюдать за нашим мяч, но он быстро исчезает с экрана, удовольствие длится недолго! Чтобы продлить, мы реализуем некоторое очень простое обнаружение столкновений (о которых будет рассказано [далее](/ru/docs/Games/Workflows/Breakout_game_from_scratch/Collision_detection) более подробно), чтобы сделать отскок мяча от четырёх краёв холста.
Приятно наблюдать за нашим мяч, но он быстро исчезает с экрана, удовольствие длится недолго! Чтобы продлить, мы реализуем некоторое очень простое обнаружение столкновений (о которых будет рассказано [далее](/ru/docs/Games/Tutorials/2D_Breakout_game_pure_JavaScript/Collision_detection) более подробно), чтобы сделать отскок мяча от четырёх краёв холста.

## Простое обнаружение столкновений

Expand Down Expand Up @@ -103,6 +103,6 @@ if (y + dy > canvas.height - ballRadius || y + dy < ballRadius) {

## Следующий шаг

Теперь мы добрались до стадии, где наш мяч одновременно двигается и остаётся на игровом поле. В четвёртой главе мы рассмотрим реализацию управления — см. [Paddle and keyboard controls](/ru/docs/Games/Workflows/Breakout_game_from_scratch/Paddle_and_keyboard_controls).
Теперь мы добрались до стадии, где наш мяч одновременно двигается и остаётся на игровом поле. В четвёртой главе мы рассмотрим реализацию управления — см. [Paddle and keyboard controls](/ru/docs/Games/Tutorials/2D_Breakout_game_pure_JavaScript/Paddle_and_keyboard_controls).

{{PreviousNext("Games/Workflows/2D_Breakout_game_pure_JavaScript/Move_the_ball", "Games/Workflows/2D_Breakout_game_pure_JavaScript/Paddle_and_keyboard_controls")}}
Loading
Loading