Как сделать платформер в скретч
Как сделать платформер в скретч
ГЛАВА 15. ИГРА ПЛАТФОРМЕР.
Давайте сделаем простейший платформер. Кот бежит домой через три экрана. Если Кот упадет в красную лаву, то конец игры.
Игра будет выглядеть вот так.
Сначала нарисуем фон. Выберите сцену и залейте весь фон голубым цветом. Выберите инструмент «Заполнить цветом».
Возьмите голубой цвет.
Залейте фон голубым.
Потом нарисуйте солнце инструментом «Эллипс».
Цвет, конечно, жёлтый.
Выберите закрашенный овал.
Удерживая клавишу Shift, нарисуйте ровный круг.
Инструментом «Линия» нарисуйте солнечные лучи.
Земля и лава будут нарисованы в виде отдельных спрайтов. Кот всегда будет находиться в центре экрана, и двигаться только вверх и вниз. Спрайты с землёй и лавой перемещаясь справа налево будут создавать эффект движения. Игроку будет казаться, что это не земля двигается влево, а что Кот идёт вправо.
Нарисуйте 4 спрайта с землей и лавой. Постарайтесь участки лавы делать не очень широкими. Нарисуйте первый спрайт. Нажмите на кнопку «Нарисовать новый спрайт».
Выберите инструмент «Кисть».
Возьмите зелёный цвет.
Толщину кисти сделайте почти самую большую, широкой кистью удобней рисовать.
Теперь выберите красный цвет и нарисуйте лаву.
Толщину кисти лучше немного уменьшить.
Нарисуйте не очень большое озеро лавы.
Затем нарисуйте второй спрайт. Нажмите на кнопку «Нарисовать новый спрайт».
Красной и зелёной кистью нарисуйте землю и реки лавы.
Снова нажмите на кнопку «Нарисовать новый спрайт» и нарисуйте третий спрайт.
А теперь нарисуйте четвёртый спрайт. Лаву на нём рисовать не надо, нарисуйте домик Кота с помощью инструментов «Прямоугольник, «Линия», «Заполнить цветом». Цвет домика должен быть синим.
Переименуйте все имеющиеся спрайты. Кота назовите Котом.
Первую картинку назовите Экран1.
Следующим спрайтам дайте имена Экран2, Экран3 и Экран4.
Начинаем программировать. Сделайте программу Кота. В ней будет шесть скриптов. В первом скрипте описано начало программы. Кот появится, перейдёт в исходную точку, и спросит где его домик. Заодно обнулится переменная «Скроллинг».
В блоке «всегда» запрограммирован прыжок Кота. Для того, чтобы Кот подпрыгнул, должно выполниться два условия. Должна быть нажата стрелка вверх и Кот должен касаться зелёного цвета. То есть, если стрелка вверх будет нажата, когда Кот стоит на земле и касается зелёного цвета, то он подпрыгнет вверх, изменяя координату Y тридцать раз по десять, то есть на триста пикселей вверх. А если стрелку вверх нажать во время прыжка, то есть когда кот не касается зелёного, то он не подпрыгнет. Из лавы выпрыгнуть тоже не получится, так как она красного цвета.
Второй скрипт Кота отвечает за то, чтобы Кот мог ходить по земле и не проваливаться.
Третий скрипт Кота отвечает за касание лавы.
Если Кот коснётся красного цвета, то скажет печальную фразу, и скроется. Работа программы будет остановлена.
Четвёртый скрипт отвечает за возвращение Кота домой. Если Кот дойдёт до дома, и коснётся синего цвета, то он скажет весёлую фразу и наступит конец игры.
Последние два скрипта отвечают за движение Кота влево и вправо.
Кот управляется стрелками, но не как обычно, изменяя координату Х, а изменяя значение переменной. Ведь на самом деле в этом проекте Кот никуда не двигается. Двигаются только спрайты Экран1, Экран2, Экран3 и Экран4. Если мы нажимаем стрелку влево, то Экраны будут смещаться вправо. Из-за этого будет казаться, что Кот идёт влево.
Теперь сделайте программу для Экрана1. В ней всего один скрипт
Давайте внимательно посмотрим, как работает этот скрипт. В самом начале работы программы переменная «Скроллинг» равна нулю. 480 умноженное на ноль, тоже равно нулю. Ноль плюс ноль тоже равно нулю. Значит в начале игры Экран1 будет стоять в точке (Х=0; Y=0) которая соответствует центру сцены.
Совет. Если вытащить формулу и дважды кликнуть на неё, то вверху отобразиться её значение.
У Экрана2 программа немного другая.
Здесь 480 умножается на один. Значит в начале работы программы Экран2 будет находиться в точке (Х=480; Y=0), а это справа за границей экрана, поэтому Экран2 совсем не видно.
У Экрана3 программа очень похожа на программу Экрана1 и Экрана2.
Отличается только числом, на которое умножается 480. В начале игры Экран3 окажется в точке (Х=960; Y=0), а это справа за границей экрана, еще правее чем Экран2.
Какая программа будет у Экрана4 вы уже, наверное, догадались.
Таким образом, все экраны расположились в ряд.
Запустите игру. Попытайтесь пройти Котом до домика. Не касайтесь лавы!
Вопросы. Как ускорить движение Кота.
Задание. Подрисуйте ещё два Экрана так, чтобы домик Кота находился на Экране6.
How to Make a Basic Platformer
A platformer is a simulation of actual physics that take place in real life. Objects fall, move, slide, jump, and bounce, and a platformer associates those properties into a game in which one controls a character and tries to move it toward a goal. This tutorial will explain how to make a basic platformer.
Contents
Creating the Platformer Sprite
The platformer sprite is the avatar controlled by the player. Its appearance can affect gameplay slightly, depending on the angles and size of its Costumes. For example, a character shouldn’t be saved from a fall because the brim of her hat snagged on the edge of a cliff. Sprites that are animated by lots of costume changes are even more tricky, as a changing costume might get pulled inside the ground and get stuck.
Below is an example of a simple script for a platformer sprite. It uses two variables:
Walking
Here is the code for platformer walking.
Jumping
To jump, use this code:
Making Levels
Colors can be used in a platform for detection of the end of a level or an object which sends one back to the beginning of the level. For this tutorial, assume the following:
The shapes do not need to be geometric, but can be organic, meaning an unordinary, inconsistent structure. There can be curvature to the various colors and platforms, which can be used to create diverse, numerous levels. The following image displays an example of some organic shapes being used:
When the levels are finished, add the following script to the «Player» sprite:
The scripts within the «forever» loop can be merged with the larger physics script shown farther above. Merging the scripts reduces the amount of conditions being checked at once and can possibly make the project more uniform and orderly, meaning the «Player» makes each movement and then checks for the conditions instead of the conditions possibly being checked during the sprite’s movement.
| A condition is a statement that is checked for a true/false response. In the example above, when the sprite checks if it’s touching a color, it’s checking a condition. |
Then add the following script to any sprite:
Lastly, add the following script to the «Player» sprite:
Making the Win Background
Last of all, comes the win background. After finishing all the levels in the platformer, something would come up that says something like «You Win!». Put it as the last costume in the sprite/background. It can be some text in a basic white background saying «You win» or the art can be complex.
A basic You Win background with just some black text and a white background
В среде программирования Scratch 3.0 можно легко создать свою игру!
Смотрите наши видеоуроки и вы узнаете как сделать игру на Scratch.
Если не знаете, как установить Scratch на компьютер, и с чего начать обучение ребенка на Scratch прочтите нашу предыдущую статью. Там вы найдете основы Scratch и изучите базовые понятия, после этого можно будет перейти к креативному программированию и выполнять более сложные Scratch проекты.
Уроки по Scratch. Как создать свою первую игру на Скретч.
Уроки по Scratch. Делаем Гонки на двоих!
В этом видео мы создадим интерактивную игру “Гонки на двоих”. Зовите друзей, пора делать турнир! Кто приедет на финиш первым?
Уроки по Scratch. Создаем игру Star Wars или «Звездные войны»
Сегодня мы делаем игру по мотивам «Звездных войн», все необходимые спрайты вы найдете по ссылке.
Уроки по Scratch. Создаем игру «Minecraft головоломка»
В этом видео мы создадим игру «Minecraft головоломка». В игре нужно дойти до сундука за наименьшее количество шагов. Все необходимые спрайты вы найдете по ссылке.
Уроки по Scratch. Создаем игру «Among us». Часть 1
Уроки по Scratch. Создаем игру «Among us». Часть 2
В этом уроке мы возьмем за основу уже готовый код из первой части и усложним его, добавив новую карту, еще одно задание и звуковые эффекты. Все необходимые спрайты вы найдете по ссылке.
Уроки по Scratch. Как сделать игру Runner («Раннер»)
В этом видео мы создадим интерактивную игру Runner. Как долго вы сможете бегать от призраков? Необходимые на спрайты вы найдете по ссылке.
Уроки по Scratch. Создаем проект Paint 3D
В этом видеоуроке мы создадим проект Paint 3D. Это непростая задачка с множеством переменных и несколькими условиями. Повторяйте за нами и будьте внимательны!
Уроки по Scratch. Создаем мультиплеерную игру
Мы узнаем, что такое облачные переменные и как начать создавать их в Скретч. И сделаем свою сетевую игру! Мы показываем, как она работает: если в одном браузере мы поменяем положение спрайта, то изменения произойдут и в другом.
Уроки по Scratch. Создаем игру Brawl Stars (Бравл Старс)
Почти все знают о такой популярной игре, как Brawl Stars. И сегодня мы покажем вам процесс создания этой игры в Scratch (Скретч). Спрайты для игры ищите по ссылке.
Уроки по Scratch. Как сделать игровое меню в Скретч
Каждая уважающая себя игра должна встречать своего игрока привлекательным меню! В этом видеоролике мы расскажем, как сделать такое меню самостоятельно.
Уроки по Scratch. Как сделать игру платформер за 15 минут
Не у каждого человека хватает свободного времени на программирование. В этом видео мы сделаем игру в Скретч за 15 минут, которую может повторить каждый. Наша игра в жанре платформер будет состоять из шести уровней.
Уроки по Scratch. Как сделать Flappy Bird на Scratch
Flappy Bird — это популярная игра-платформер с птичкой. Раньше она была доступна только на мобильных телефонах, но мы с вами создадим ее в визуальной среде Скретч.
Плейлист видеоуроков постоянно дополняется, подписывайтесь на канал и следите за обновлениями. Наши видеоуроки по Scratch выходят на русском языке и полностью бесплатны.
Нужен наставник? Записывайтесь на онлайн-уроки программирования для детей в школе «Пиксель»: онлайн-курс Scratch программирование для детей.
Как сделать платформер в скретч
The first Super Mario Bros. game was introduced in 1985 and became Nintendo’s greatest video game franchise and one of the most influential games of all time. Because the game involves making a character run, jump, and hop from platform to platform, this game style is called a platformer (or platform game).
In the Scratch game in this chapter, the cat will play the part of Mario or Luigi. The player can make the cat jump around a single level to collect apples while avoiding the crabs who will steal them. The game is timed: the player has just 45 seconds to collect as many apples as possible while trying to avoid the crabs!
Before you start coding, look at the final program at https://www.nostarch.com/scratchplayground/.
Get ready to program a more complicated game than those in previous chapters!
SKETCH OUT THE DESIGN
Let’s sketch out on paper what the game should look like. The player controls a cat that jumps around while apples appear randomly. The crabs walk and jump around the platforms randomly, too.
Here’s what we’ll do in each part:
A. Create gravity, falling, and landing
B. Handle steep slopes and walls
C. Make the cat jump high and low
D. Add ceiling detection
E. Use a hitbox for the cat sprite
F. Add a better walking animation
G. Create the level
H. Add crab enemies and apples
This platform game is the most ambitious one in the book, but anyone can code it if they follow the steps in this chapter. Let’s code each part one step at a time.
If you want to save time, you can start from the skeleton project file, named platformer-skeleton.sb2, in the resources ZIP file. Go to https://www.nostarch.com/scratchplayground/ and download the ZIP file to your computer by right-clicking the link and selecting Save link as or Save target as. Extract all the files from the ZIP file. The skeleton project file has all the sprites already loaded, so you’ll only need to drag the code blocks into each sprite.
CREATE GRAVITY, FALLING, AND LANDING
In the first part, we’ll add gravity, falling, and landing code, similar to the Basketball game in Chapter 4. The important difference is that in the platform game, the cat lands when it touches a ground sprite rather than the bottom of the Stage. Coding is a bit trickier, because we want the ground to have hills and eventually platforms!
To start, click the text field at the top left of the Scratch editor and rename the project from Untitled to Platformer.
1. Create the Ground Sprite
Let’s use a simple shape for the ground in the first few scripts, just to explore how the code will work.
Click the Paint new sprite button next to New sprite to create a temporary ground sprite while you learn about platforming code. In the Paint Editor, use the Brush or Line tool to draw a shape for the ground. You can make the lines thicker by using the Line width slider in the bottom-left corner of the Paint Editor. Be sure to draw a gentle slope on the right and a steep slope on the left.
2. Add the Gravity and Landing Code
Now that we have a sprite for the ground, we need the cat to fall and land on it.
With these two code sections, the cat will fall down, hit the ground, and then rise if necessary, eventually settling on top of the Ground sprite.
But the repeat until block ➋ will loop until the Cat sprite is no longer touching the Ground sprite. (If the cat is still in the air and falling, it will not be touching the ground, so the code in the loop is skipped.) Inside this loop, the y velocity is set to 0 so that the Cat stops falling any farther. The change y by 1 block will lift up the Cat sprite a little. The repeat until not touching Ground block continues lifting the sprite until it is no longer sunk into the Ground sprite. This is how the cat stays on top of the ground, no matter what the shape of the Ground sprite is.
Click the green flag to test the code so far. Drag the cat up with the mouse and let go. Make sure the cat falls and sinks into the ground a bit and then slowly lifts out of it. Then click the red stop sign and save your program.
3. Make the Cat Walk and Wrap Around the Stage
The cat also needs to walk left and right using the WASD keys, so add the following script to the Cat sprite:
Next, add the following script to make the Cat sprite wrap around to the top if it falls to the bottom of the Stage.
This code is very similar to the wrap-around code we wrote in the Asteroid Breaker game in Chapter 8. We’ll write wrap-around code for moving left and right later.
Click the green flag to test the code so far. Press the A and D keys to make the cat walk up and down the slopes. If the Cat sprite walks off the edge of the Ground sprite and falls to the bottom of the Stage, the Cat sprite should reappear at the top. Then click the red stop sign and save your program.
This platformer has many scripts, so you might get lost if you get confused. If your program isn’t working and you can’t figure out why, load the project file platformer1.sb2 from the resources ZIP file. Click File Upload from your computer in the Scratch editor to load the file, and continue reading from this point.
4. Remove the Ground Lift Delay
The big problem with the code right now is that the Cat sprite is lifted from inside the ground to on top of it very slowly. This code needs to run so fast that the player only sees the sprite on top of the ground, not in it.
This code works exactly as it did before, but now the handle ground block has Run without screen refresh checked, so the loop code runs in Turbo Mode. Lifting the cat now happens instantly, so it looks like the cat never sinks into the ground.
Click the green flag to test the code so far. Make the cat walk around or use the mouse to drop the cat from the top of the Stage as before. Now the Cat sprite should never sink into the ground. Then click the red stop sign and save your program.
If you’re lost, open platformer2.sb in the resources ZIP file and continue reading from this point.
HANDLE STEEP SLOPES AND WALLS
The Ground sprite has hills and slopes that the cat can walk on, and you can change the Ground sprite to pretty much any shape in the Paint Editor. This is a big improvement for the player compared to just walking on the bottom of the Stage, as in the Basketball game. But now the problem is that the Cat sprite can walk up the steep slope on the left as easily as it can walk up the gentle slope on the right. This isn’t very realistic. We want the steep slope to block the cat. To do this, we’ll make a small change to the walking code blocks.
At this point, the sprites are becoming overcrowded with lots of different scripts. So, right-click on the Scripts Area, and select clean up to reorganize the scripts into neat rows.
5. Add the Steep Slope Code
Click the Make a Block button in the dark purple More Blocks category to make the walk block. Be sure to click the Add a number input button to make the steps input. When we want to call the new walk block, we’ll have to define that input with a number of steps to take. Make sure you check the Run without screen refresh checkbox!
This code also requires you to make a variable for the Cat sprite named ground lift (which should be For this sprite only). We’ll use this new variable to determine whether a slope is too steep for the cat to walk up. This code is a little complicated, but we’ll walk through it step-by-step. For now, make the Cat sprite’s code look like the following:
This code is exactly like the code in the Maze Runner game in Chapter 3 that blocks the player from walking through walls.
Click the green flag to test the code so far. Use the A and D keys to make the cat walk around. The cat should be able to walk up the gentle slope on the right, but the steep slope on the left should stop the cat. Click the red stop sign and save your program.
If you’re lost, open platformer3.sb in the resources ZIP file and continue reading from this point.
MAKE THE CAT JUMP HIGH AND LOW
With the walking code done, let’s add jumping. In the Basketball game, we changed the falling variable to a positive number. This meant that the player jumped the height of that variable’s value each time. But in many platform games, the player can do a short jump by pressing the jump button quickly or jump higher by holding down the jump button. We want to use high and low jumping in this platform game, so we’ll have to come up with something a little more advanced than the Basketball game’s jumping code.
6. Add the Jumping Code
Add this script to the Cat sprite:
Let’s edit two of the existing Cat sprite scripts to add the in air variable that limits how high the cat can jump.
Click the green flag to test the code so far. Press the W key to jump. Quickly pressing the key should cause a small jump. Holding down the W key should cause a higher jump. Make sure the cat can jump only while it’s on the ground and can’t do double jumps. Then click the red stop sign and save your program.
If you’re lost, open platformer4.sb in the resources ZIP file and continue reading from this point.
ADD CEILING DETECTION
The cat can walk on the ground, and now walls will stop the cat from moving through them. But if the player bumps the Cat sprite’s head against a platform from below, the Cat sprite will rise above it! To solve this problem, we need to make some adjustments to the lifting code to add ceiling detection.
7. Add a Low Platform to the Ground Sprite
Add a short, low platform to the Ground sprite’s costume, as shown in the following figure. Make sure it is high enough for the cat to walk under but low enough that the cat can jump up and touch it.
This platform should be low enough that the cat could hit its head on it. If it can’t, then redraw the platform a little bit lower.
Click the green flag to test the code so far. Make the cat jump under the low platform. Notice that when the Cat sprite touches the platform, it ends up above the platform. This is the bug we need to fix. Click the red stop sign.
8. Add the Ceiling Detection Code
Right-click the define handle ground block and select edit from the menu.
Click the gray triangle next to Options to expand the window, and click the button next to Add boolean input. Name this new input field moving up and then click OK.
This will add a new moving up block that you can drag off the define handle ground block just like you do with blocks from the Blocks Area. This moving up block will be used in a new if then else block. Modify the define handle ground block’s code to match this.
Click the green flag to test the code so far. Make the cat walk under the low platform and jump. Make sure the cat bumps into the platform but does not go above it. Then click the red stop sign and save your program.
If you’re lost, open platformer5.sb in the resources ZIP file and continue reading from this point.
USE A HITBOX FOR THE CAT SPRITE
There’s another problem with the game. Because the code relies on the Cat sprite touching the Ground sprite, any part of the Cat sprite can be “standing” on the ground, even its whiskers or cheek! In this figure, the cat isn’t falling because its cheek has “landed” on the platform, which isn’t very realistic.
Fortunately, we can fix this problem by using the hitbox concept we used in the Basketball game.
9. Add a Hitbox Costume to the Cat Sprite
Click the Cat sprite’s Costumes tab. Then click the Paint new costume button and draw a black rectangle that covers most (but not all) of the area of the other two costumes. The following figure shows a slightly transparent first costume in the same image so you can see how much area the black rectangle covers.
These costume switches will be handled with the dark purple custom blocks that have the option Run without screen refresh checked, so the hitbox costume will never be drawn on the screen.
10. Add the Hitbox Code
We’ll add switch costume to blocks to the start and end of both dark purple custom blocks. Modify the Cat sprite’s code to look like this:
Click the green flag to test the code so far. Make the cat jump around, and make sure the cat can’t hang off the platform by its cheek or tail. Then click the red stop sign and save your program.
If you’re lost, open platformer6.sb in the resources ZIP file and continue reading from this point.
ADD A BETTER WALKING ANIMATION
You can make a simple walking animation by switching back and forth between these two costumes. However, a Scratcher named griffpatch has created a series of walking costumes for the Scratch cat.
griffpatch has also made costumes for standing, jumping, and falling.
Using these costumes will make the Platformer game look more polished than using the two simple costumes that the Cat sprite comes with. We just need to add some animation code that switches between these costumes at the right time. griffpatch has created several cool Scratch programs using these costumes: https://scratch.mit.edu/users/griffpatch/.
11. Add the New Costumes to the Cat Sprite
To add the new costumes, you must upload the costume files into your Scratch project. You’ll find the eight walking images and the standing, jumping, and falling images in the resources ZIP file. The filenames for these images are Walk1.svg, Walk2.svg, and so on up to Walk8.svg, as well as Stand.svg, Jump.svg, and Fall.svg.
Then, in the Scratch editor, click the Cat sprite’s Costumes tab. Click the Upload costume from file button next to New sprite, and select Stand.svg to upload the file. This creates a new sprite with Stand.svg as its costume.
Delete the original costume1 and costume2 costumes, but keep the hitbox costume. Put the costumes in the following order (it’s important that you match this order exactly):
12. Create the Set Correct Costume Block
With all these different costumes, it will be a bit tricky to determine which frame we need to show and when. We’ll use the idea of animation frames: several frames shown together quickly make a moving image, just like a flip book.
Now the setup is done.
As the player moves the Cat sprite left or right, we want the frame variable to increase. The frames per costume variable keeps track of how fast or slow the animation runs.
Now let’s write some code to determine which costume to show. We’ll use this code in a few places in the scripts we’ve written, so let’s make a custom block.
Which walking costume is shown is decided by the switch costume to floor of 4 + frame mod 8 blocks. Wow, that looks complicated! Let’s break it down to better understand each part.
The mod block does a modulo mathematical operation, which is the remainder part of division. For example, 7 / 3 = 2 remainder 1, so 7 mod 3 = 1 (the remainder part). We’ll use mod to calculate which costume number to display.
Whew! That’s the most math you’ve seen in this book so far, but when it’s broken down, it becomes easier to understand.
Replace the switch costume to costume1 blocks in the define handle ground and define walk blocks with the new set correct costume blocks. Also, add the change frame by 1 / frames per costume blocks so that the frame variable increases over time, as shown here.
Click the green flag to test the code so far. Move the cat around the Stage, and make sure the walking animation displays correctly. Also, make sure the standing, jumping, and falling costumes are shown at the right times. Then click the red stop sign and save your program.
If you’re lost, open platformer7.sb in the resources ZIP file and continue reading from this point.
The new walking animation makes the Platformer game look more appealing. Now let’s change the plain white background into a real level. What’s great about the code we’ve written for the Cat sprite to walk, jump, and fall is that it will work with a Ground sprite of any shape or color. So if we change the Ground sprite’s costume (say, for different levels) we don’t have to reprogram the Cat sprite!
13. Download and Add the Stage Backdrop
Click the Ground sprite’s Costumes tab. Click the Upload costume from file button and select PlatformerBackdrop.png, which is in the resources ZIP file. After this costume has uploaded, you can delete the previous costume.
It’s not enough to add the file PlatformerBackdrop.png as a costume for the Ground sprite. You must also upload it as a Stage backdrop. Click the Upload backdrop from file button next to New backdrop, and select PlatformerBackdrop.png to upload it. We need to upload the file to both places because we’ll be erasing all the “background parts” from the Ground sprite in the next step. We only need the Ground sprite to mark which parts the Cat sprite can walk on. The backdrop will be the image that is displayed on the Stage.
14. Create a Hitbox Costume for the Ground Sprite
The Platformer game code is based on the Cat sprite touching the Ground sprite. The Ground sprite’s costume is a hitbox, so if the Ground sprite’s costume is a full rectangle that takes up the entire Stage, it will be treated as though the entire Stage is solid ground. We need to remove the parts of the Ground sprite’s costume that are part of the background and not platforms.
The easiest way to do this is to click the Select tool in the Paint Editor. Drag a Select rectangle over the part of the costume you want to delete. After selecting an area, press DELETE to remove that piece.
Use the Eraser tool to erase areas that aren’t rectangular. If you make a mistake, click the Undo button at the top of the Paint Editor to undo the deletion.
Keep removing the background parts of the costume until only the platform parts remain.
If you’re having trouble creating this costume, you can use the premade PlatformerBackdropHitbox.png image in the resources ZIP file. The background parts of the image are already deleted, so you just need to click the Upload costume from file button on the Costumes tab to add it.
15. Add the Ground Sprite’s Code
The Stage backdrop is used to set the appearance of the platforms and background. The Ground sprite is used to identify which parts are solid ground that the Cat sprite can walk on. Add the following code to the Ground sprite’s Scripts Area:
The Ground sprite’s costume needs to line up perfectly over the Stage’s backdrop so that you can’t tell it’s there. Because the Stage backdrop and the Ground sprite’s costume came from the same image file, you can do this by moving the Ground sprite to the coordinates (0, 0). Otherwise, the Ground sprite’s costume won’t line up perfectly over the backdrop.
Click the green flag to test the code so far. Make sure you can move the cat all around the Stage. Then click the red stop sign and save your program.
16. Add More Wrap-Around Code to the Cat Sprite
Notice that the level has a couple floating platforms and a hill with a pit in the middle. When the cat falls down the pit, it wraps around the Stage and reappears at the top. Let’s add wrap-around code for the left and right edges of the Stage as well. Add the following script to the Cat sprite.
Click the green flag to test the code so far. Make sure the cat can walk off the left edge of the Stage and wrap around to the right, and vice versa. Then click the red stop sign and save your program.
If you’re lost, open platformer8.sb in the resources ZIP file and continue reading from this point.
ADD CRAB ENEMIES AND APPLES
The entire Platformer game setup is complete! The player can make the Cat sprite walk, jump, fall, and stand on platforms. The Cat sprite has some cool animations, and the backdrop looks like a real video game.
Now all we have to do is make a game using all the pieces we have. We’ll add an apple that appears randomly around the Stage (similar to the Snaaaaaake game in Chapter 6) and add a few enemies that try to touch the Cat sprite and steal the apples.
17. Add the Apple Sprite and Code
Click the Choose sprite from library button and select the Apple sprite from the Sprite Library window that appears; then click OK.
In the Apple sprite’s Scripts Area, add the following code.
18. Create the Crab Sprite
The game wouldn’t be very challenging if all the player had to do was jump around and collect apples. Let’s add some enemies that the player must avoid.
19. Create the Enemy Artificial Intelligence
In games, artificial intelligence (AI) refers to the code that controls the enemies’ movements and how they react to the player. In the platform game, the AI for the crabs is actually pretty unintelligent: the crabs will just move around randomly.
Уроки Scratch, Как Сделать Игру Платформер На Скретч, Часть 1
Изучаем Мир Ит / Олег Шпагин / Программирование HD 18:33
Описание
Новейшие видео на канале:
Больше видео с канала:
Видео | Просмотры | Дата |
---|---|---|
Программирование Python Online | 1463 | 07.06.2022 |
Программирую онлайн. Изучаю BackTrader. Можно задавать вопросы. В прямом эфире продолжим создание торгового робота на Python. Программировать будем. | ||
Программирование Python Online | 825 | 06.06.2022 |
Программирую онлайн. Изучаю BackTrader. Можно задавать вопросы. В прямом эфире продолжим создание торгового робота на Python. Программировать будем. | ||
Программирование Python Online | 1736 | 05.06.2022 |
Программирую онлайн. Изучаю BackTrader. Можно задавать вопросы. В прямом эфире продолжим создание торгового робота на Python. Программировать будем. | ||
Клонирование Голоса, Python | 3956 | 03.06.2022 |
Клонируем себе проект и разбираемся! | ||
Золотая Обитель Будды, Элиста | 1480 | 02.06.2022 |
Махачкала Ура! | 1841 | 01.06.2022 |
Полезные ссылки из этого видео
Описание | Внешняя ссылка |
---|---|
Привет друзья! Сегодня мы начнем с вами делать игру Платформер на Скретч. Для поддержки канала По номеру карты 5599005072205482 | https://wiseplat.org/donat |
Сообщество программистов | https://wiseplat.org |
Дополнительное описание, домашние задания и многое другое можно найти на сайте WISEPLAT | https://wiseplat.org |
Поделиться с друзьями:
Добавить временную метку
Фото обложки и кадры из видео
Уроки Scratch, Как Сделать Игру Платформер На Скретч, Часть 1, Изучаем Мир Ит / Олег Шпагин / Программирование
Подписывайтесь на наш Telegram канал c мультиками для детей! @det_multik открыть
Scrolling Platformer Tutorial
| This article or section may not have content matching Scratch Wiki editing standards. Please improve it according to Scratch Wiki:Guidelines and Scratch Wiki:Editing Conventions. (November 2019) Reason: Unprofessional, more description needed |
This article is about how to make a scrolling platformer. For a basic platformer tutorial, see How to Make a Basic Platformer. For advanced platformer physics, see Advanced Platformer Physics.
This article covers a step-by-step process about how to make a Scrolling Platformer. A scrolling platformer is a type of platformer where the camera follows the player as they move through the level(s).
Contents
Coding the Player Sprite
To code the movement of the player, the following scripts need to be made. All scripts in this section are to go in the ‘Player’ sprite.
| Variables in capital form (e.g. «SCROLL X» and «SCROLL Y») are global variables, and those lowercase (e.g. «x» and «y») are made with the «For this sprite only» option selected. |
Coding the Platforms Sprite
Once the player’s code has been completed, the ground sprite (called ‘platforms’ here) needs to be added in order to create a scrolling effect. The following scripts go in the ‘platforms’ sprite.
Coding the Danger Sprite
To code the danger sprite, simply duplicate the «platforms» sprite and replace all the levels only with the dangerous elements that would hurt the player.
| Make sure to call the danger sprite «danger» because the script above already makes the player sense for a sprite of that name. |
Coding the Portal
Now that everything is made, a way to go to the next level needs to be made.
Adding Collectibles
Collectibles can be added to the game to make it more interesting. They are objects that need to be collected in order to achieve a certain goal. The code to make them is shown below:
Transforming a Basic Platformer
Often, Scratchers make basic platformers before they make a scrolling platformer, and they may want to use their old script to make a scrolling platformer. To do this, the «ground» sprite would move with the player. Making a script to do this is simple:
Как создать свою первую игру: видеоуроки Scratch для детей
Визуальная среда Скретч идеально подходит для изучения программирования детьми уже с 6 лет. В Скретч код состоит из визуальных блоков, которые можно сцеплять между собой. Перетаскивая блоки и соединяя их между собой, дети учатся алгоритму построения кода и созданию простых игр и программ.
Среда Scratch разработана медиа-лабораторией Массачусетского технологического института, последняя версия — Scratch 3.0 — совместима с мобильными устройствами и наборами наборами LEGO Education, а также адаптирован интерфейс для работы с планшетами. Благодаря этому, в Scratch дети также могут создавать сложные интерактивные проекты: анимированные презентации, мультфильмы и игры, рассчитанные на нескольких пользователей.
Начать изучение Scratch ребенок может уже в 6 лет. Для дошкольников существует отдельная версия этого языка — Scratch Junior. Подробнее о нём я писал в этой статье.
В сегодняшней статье я подробнее разберу процесс создания игр на Scratch версии 3.0.
Охота за привидениями
Простая игра для двоих пользователей, где нужно стреляться по призракам и набирать баллы.
Здесь нужно убежать от призрака как можно быстрее, игру можно проходить несколько раз, с каждым разом стараясь уменьшить время прохождения игры.
Давайте попробуем посоревноваться на гоночной трассе. Для этого сначала спроектируем ее, а потом запусти игру.
Помимо создания сетевой игры, на этом уроке мы рассмотрим переменные и их значение в коде.
Программируем космический корабль и атакуем корабль соперника.
Воссоздаем мини-вселенную Майнкрафт и стараемся как можно быстрее добраться до сундука в игре.
Воссоздаем любимую игру, а также пытаемся вычислить самозванца на борту.
Совершенствуем карту и сбиваем астероиды.
Создаем Flappy Bird на Scratch
Моделируем игру-платформер с прыгающей птичкой.
Brawl Stars (Бравл Старс)
Пробуем создать игру менее, чем за 45 минут!
Собираем программу с нуля, в которой будут создаваться трехмерные объекты.
Как сделать игру Flappy Bird на Scratch
Кружок «Робикс» приветствует вас на очередном уроке по разработке игр! Начинающие гейм-дизайнеры и любители заглянуть под капот, сегодня мы с вами сделаем незамысловатую, но крайне сложную игру — Flappy Bird.
В рамках этой серии уроков не требуется специальных знаний и навыков. Весь процесс происходит в программе для создания игр и мультфильмов — Scratch.
Если будете пошагово следовать нашей инструкции и поймете, что мы делаем на каждом этапе, вы сможете потом создавать любые игры для себя и друзей!
Краткое описание игры
Сегодня мы попробуем воссоздать нашумевшую в свое время игру Flappy Bird.
Главный герой (если знаете английский или знакомы с темой, то вы уже догадались) — птица, которая летит между торчащими сверху и снизу трубами, поднимаясь и опускаясь, чтобы не задеть их.
Цель игры — не натолкнуться ни на одно из препятствий и добраться к финишу. Или, что вероятнее, просто набрать наибольшее количество очков на пути к нему.
Игровой процесс на примере одного из двойников проекта
Flappy Bird — проект, заточенный под смартфоны. Вьетнамский разработчик Донг Нгуен (Dong Nguyen) создал простой по механике платформер, управляемый не просто касанием экрана, но даже не требующий попадания по каким-либо нарисованным клавишам.
Чтобы управлять полетом птицы, достаточно было постукивать пальцем в любом месте. На каждое нажатие персонаж реагировал взмахом крыльев и небольшим рывком вверх.
Релиз игры состоялся в мае 2013 года на обоих крупнейших маркетплейсах, однако не привлекал к себе внимания до начала 2014 года, когда неожиданно вскочил в лидеры по скачиваниям и упоминаниям в сети.
Пока критики разбивали проект в пух и прах, обвиняли в плагиате и ставили ему низкие оценки, пользователи по всему миру пытались пробиться птицей сквозь ряды труб и не разбить свои смартфоны.
Волна негатива из-за сложности прохождения, а также мнения некоторых экспертов о том, что игра вызывает зависимость, привели к тому, что уже в феврале 2014-го автор снял проект с публикации и извинился.
Сразу после этого начали появляться многочисленные клоны и пародии, одни из которых удалялись как повторы, другие оставались незамеченными публикой.
Так как скачать игру официально больше было нельзя, на барахолках стали появляться в продаже телефоны, на которых игра была установлена ранее, пока еще была в открытом доступе. Ценники подчас были дикими.
Анализ и подготовка к разработке
Если вы ранее не слышали об этой игре, рекомендуем перед чтением инструкции ознакомиться с прототипом. Геймплей можно посмотреть на YouTube или поискать действующие аналоги в формате веб-приложения.
Посмотреть и попробовать в действии Flappy Bird можно, например, на вот этом сайте.
Первым делом, давайте подумаем, что нам потребуется для создания игры.
Птица будет лететь вправо, а трубы — парами ей навстречу. Задача — подпрыгивать так аккуратно, чтобы проскочить в щель между ними.
Стоит задеть любой объект — игра сразу заканчивается, то есть попытка, она же жизнь, дается лишь одна. Сколько успел набрать очков, столько и попадёт на табло.
Создаем главного героя
Начнем разработку нашей «пиратской» копии игры с центрального образа — нарисуем цыпленка или какую-то другую небольшую птицу.
Есть своя прелесть в том, что в создаваемой игре наш персонаж может быть совсем не таким, каким изображали его авторы прототипа. Он и пернатым быть не обязан. А летать научим.
Запускаем или создаем новый проект в Scratch. При этом автоматически добавляется фирменный персонаж программы — кот. Нам он не подходит, мы уже решили играть за крылатого героя. Уберем его со сцены.
Чтобы удалить ненужный объект, сначала находим его на панели спрайтов. Дальше либо жмем правой кнопкой мыши и выбираем «Удалить», либо кликаем по иконке с мусорным ведром.
Удаление ненужного спрайта
Для создания нового спрайта воспользуемся круглой кнопкой здесь же.
Если нажать на нее, программа предложит поискать подходящее изображение в библиотеке (это большой набор готовых спрайтов, причем некоторые из них анимированные). Вдруг рисование не задастся, тогда можно будет воспользоваться этим вариантом. Пёс-космонавт, кажется, не прочь полетать!
Библиотека спрайтов в Scratch
А сейчас наведем курсор на этот кружок и в появившемся меню нажмем на кисточку — пункт «Нарисовать».
Тело птицы в прототипе было круглым. Проще некуда — изобразим же! И установим его в центр холста, прежде чем пририсуем ему глаза, лапы, крылья и что там еще захочется.
Когда объект имеет сдвиг от центра, анимация полета и обработка касаний работают некорректно!
Собираем птичку из кружочков и палочек
Мы задействовали несколько окружностей и линий, чтобы получить свою пародию на персонажа Flappy Bird. Всё еще имеем в виду план отхода с выбором готового рисунка… Но пока оставим то, что получилось.
Обратите внимание на игровое поле. Там сразу отображается наш спрайт, который мы еще только начали рисовать. Если изображение покажется вам слишком крупным, можно либо уменьшить его на холсте, где мы сейчас его собираем, либо указать в настройках спрайта, насколько его размер нужно изменить.
Например, чтобы сделать объект в игре в два раза меньше, достаточно указать 50 вместо 100 в параметре «Размер». Он задается в процентах от исходного.
Изменение размера спрайта на сцене
Когда рисунок будет готов, переходите обратно на вкладку «Код» — начнем программировать!
Учим птицу падать
В данной игре нам нужно реализовать гравитацию, так как персонаж должен притягиваться к земле и падать. Пока расчетов не делаем — просто создадим счетчик, который покажет, насколько быстро мы в данный момент снижаемся.
Сделаем новую переменную — «Скорость падения«. Для этого воспользуемся специальной кнопкой «Создать переменную» в соответствующей группе блоков.
Создание своей переменной в Scratch
Создали, вернемся к ней в скором времени. А пока из панели блоков возьмем нужные для начала игры условия и действия. Самым первым в пока еще пустом пространстве для скриптов устанавливаем блок «Когда зеленый флажок нажат».
Каждый раз, когда мы будем использовать эту кнопку у сцены, игра будет начинаться заново.
Первым делом, нужно возвращать птицу в исходную позицию, из которой ей предстоит лететь.
Для этого пригодится блок «Перейти в x… y…». Если предварительно установить героя в нужную точку, то его координаты появятся в блоке автоматически, и вручную вписывать не потребуется.
Координаты спрайта автоматически подставляются в блок «Перейти в x… y…»
На старте игры также нужно обнулить скорость падения — ведь птица еще не начала полет. Задействуем команду «Задать… значение…» и выберем в списке нашу созданную заранее переменную.
После этого установим блок «Повторять всегда» и добавим в него команду «Изменить y на…», чтобы игровой персонаж начал притягиваться к земле.
По умолчанию, там выставится цифра 10. Но мы для расчета сдвига по y будем использовать «Скорость падения».
Скрипт, описывающий действия птицы в начале игры
Попробуем запустить — наш маленький герой падает вниз, пока не упрется в край сцены. Так и должно быть, продолжаем.
Программирование полета персонажа
Дальше подключается к делу невидимая рука игрока.
Управление в оригинале происходило с помощью нажатия пальцем на экран. От каждого касания птичка подпрыгивала, и это позволяло ей на время подниматься выше.
Прыжок по сигналу
У нас действие происходит не на мобильном устройстве, поэтому привяжем это на клавишу на клавиатуре. Например, стрелку вверх или пробел.
Добавим в скрипт блок «Если…, то…» и вставим в него условие — «Клавиша [пробел] нажата?».
Отслеживание нажатия клавиши «Пробел»
Скорость падения в этот момент будем устанавливать каким-то большим положительным числом — это даст нам эффект рывка вверх. Попробуйте цифру 8, у нас получилось здорово с таким значением.
Проверяем скрипт в действии. Птица должна послушно подскакивать от нажатия выбранной кнопки.
Анимация прыжка
Еще можно настроить, чтобы птица смотрела вверх, когда подпрыгивает, а потом вниз — при снижении. Давайте сделаем такое.
Добавим в скрипт блок «Повернуться в направлении…». И чтобы определить, какое направление указать, покрутим наш спрайт и примеримся.
На панели настройки спрайта есть соответствующий параметр. Попробуйте изменить его и пронаблюдайте за персонажем на сцене.
Управление углом поворота спрайта
Заприметим два числа — минимальное и максимальное. В одном из них птица будет смотреть вверх, в другом — вниз. Положения между ними — это моменты, когда птица падает и постепенно опускает взгляд.
В имеющемся блоке поворота укажем направление для случая, когда спрайт поворачивает голову вверх. У нас это 45.
Второе число пока держим в уме, оно пригодится нам в другом месте — во втором скрипте, который будет непрерывно разворачивать птицу к земле.
Задаем угол поворота птицы в прыжке
В начало первой последовательности дополнительно вставили блок «Повернуться в направлении [90]», чтобы на старте герой появлялся одинаково, а не так, как было в момент окончания предыдущей попытки.
Анимация снижения
Добавим где-нибудь в пустом месте области кода еще один начальный блок «Когда зеленый флажок нажат».
К нему прицепим скобку цикла «Повторять всегда» — чтобы указанная здесь последовательность повторялась и повторялась на протяжении всей игры.
Внутрь поместим блок «Повторять пока не…». Он будет срабатывать тогда, когда наш персонаж подпрыгивает и смотрит вверх. Точнее, пока смотрит недостаточно вниз. Сейчас укажем условие — и станет ясней.
В «Операторах» возьмем блок «… > …». Туда вставим специальную переменную «Направление« (она находится в группе «Движение») и число, которое мы запомнили ранее.
В нашем случае вышло: «Повторять, пока [направление] не станет больше [120]».
В этом промежутке мы будем производить небольшой поворот по часовой стрелке. Для этого есть специальный блок — «Повернуть ↻ на… градусов». Попробуем на 3.
Блок поворота спрайта по часовой стрелке
Теперь запустим и проверим, будет ли наша птица правильно реагировать на прыжки.
Анимация на данном этапе должна уже работать полностью:
Создание игрового пространства
Итак, птица есть. Она летает и подпрыгивает, когда мы нажимаем определенную клавишу. Что еще нам нужно? Не хватает преград на пути! Давайте добавим трубы.
Обратите внимание, что перемещение по экрану для главного персонажа мы уже полностью описали. Лететь вправо он не будет — мы создадим эту иллюзию, передвигая препятствия ему навстречу.
Добавляем первое препятствие
Попробуем нарисовать трубы сами, тем более что найти готовую в библиотеке вряд ли получится. (Разве что использовать заглавную букву i. )
Снова идем в панель спрайтов и нажимаем «Нарисовать» (пункт с кисточкой).
Начнем с прямоугольника. Синего или зеленого цвета, ну или какой у вас по сеттингу к персонажу лучше подойдет. Мы снова повторим за оригиналом.
К одной фигуре добавим вторую, поменьше. Теперь больше похоже на трубу.
Рисование прямоугольников в Scratch
Чтобы передвигать по холсту вместе два объекта (или более), воспользуемся инструментом «Выбрать» (выглядит как курсор). Щелкнем левой кнопкой по одному из прямоугольников, зажмем клавишу Shift и снова щелкнем мышью — по второму из них. Теперь, когда выбраны оба, подтянем их к середине и опустим в нижнюю часть области рисования.
Можно еще преобразовать несколько фигур в единый объект — для этого используется команда «Группировать». Но у нас всего два объекта, с ними легко управляться и так.
Не снимая выделения, нажмем поочередно кнопки «Копировать» и «Вставить». Они находятся на панели рядом с холстом. Получим вторую копию трубы, которую нужно развернуть другим концом к центру рабочей зоны. (Чтобы установить фигуру строго вертикально, зажмите Shift во время поворота.)
Дублирование фигур в редакторе спрайтов
Располагать препятствия лучше не слишком близко, иначе в игру будет сложно играть.
Попробуйте взять мышкой спрайт с персонажем, поднести ближе и прикинуть, подходит ли расстояние между трубами. Если тесновато, то отодвиньте их дальше друг от друга.
Итак, первая преграда готова, однако, чтобы игра не завершилась сразу после начала, препятствий на пути должно быть больше. Воспользуемся механизмом клонирования, чтобы по ходу процесса постоянно добавлялись все новые и новые пары труб.
Клонирование объектов
Перейдем на вкладку «Код» (это если вы тоже еще не ушли из редактора, где рисовали новый спрайт) — и начнем трубу программировать.
Установим начальный блок — «Когда зеленый флажок нажат» — и приставим к нему бесконечный цикл «Повторять всегда». А повторяться у нас будет специальная команда — «Создать клон [самого себя]».
Блок для создания клона выбранного спрайта
После этого блока будем делать паузу. Например, 3 секунды. Таким образом, каждый новый ряд будет появляться именно с такой частотой.
Чтобы все клоны приезжали из-за правого края экрана, для начала сдвинем в это место наш исходный спрайт и запрограммируем, чтобы он появлялся именно там при запуске игры. Копии будут повторять за ним.
Используем блок «Перейти в x… y…». По умолчанию, в нем выставляются текущие координаты спрайта на сцене.
Скрипт, управляющий спрайтом с трубами
Теперь задействуем другой стартовый блок и соберем второй скрипт для трубы. Нам понадобится «Когда я начинаю как клон».
Расположим его где-нибудь в свободном месте области кода и добавим два блока: «Показаться» и «Спрятаться».
Первый из них — в новый скрипт. Это позволит нашим клонам появляться на экране. А второй — в первую цепочку блоков, в самое начало. Чтобы скрыть трубу-оригинал.
У одного спрайта может быть несколько скриптов
Предварительная подготовка препятствий окончена — пора запустить прокручивание игрового поля.
Сдвигаем трубы навстречу птице
Каждая пара обрубков трубы, между которыми мы будем пролетать, появляется за правой границей экрана, после чего должна приближаться к левому краю и исчезать за ним. Сейчас мы реализуем это.
Добавим блок цикла «Повторять пока не…», а внутрь него — «Идти… шагов».
Так как двигаться нужно будет справа налево, то число шагов должно быть отрицательным.
Условием прекращения цикла станет выход объекта за левый край. Определим это по его положению на горизонтальной оси.
Вставим оператор-условие «… Программирование прокручивания игрового поля
Если на этом этапе запустить игру, то начнется экшен! Новые экземпляры труб будут появляться, ехать через весь экран и застревать слева. Неплохо, надо только добавить в скрипт клонов блок «Спрятаться», чтобы по достижении края они исчезали с экрана.
Улучшаем игровое поле
Заметили ли вы, чего трубам еще не хватает для соответствия оригинальной игре? Все верно, промежуток между ними должен быть на разной высоте — чтобы приходилось именно уворачиваться, а не повторять одно и то же.
Для этого нам потребуется внести небольшое изменение в алгоритм действий клонов. Каждый из них будет иметь разный сдвиг по вертикали от исходной точки. Можно использовать блок «Перейти в x… y…» или «Установить y в …».
Обновленный скрипт с блоком сдвига на случайное расстояние
В качестве x (если возьмете первый из них) устанавливается то же значение, что у оригинального спрайта. А вот y (в обоих случаях) мы будем получать с помощью так называемого рандомайзера — генератора случайных чисел. Таким образом, координата по оси y будет отличаться у каждого следующего клона.
Теперь проведем тестовые запуски и подкрутим параметры на свой вкус. Размеры экрана и объектов у нас с вами отличаются, потому устанавливайте такие числа, которые лучше сработают в вашей конкретной реализации.
На что мы можем повлиять:
Когда игровой процесс налажен, можно переходить к следующему шагу — обработке касания трубы героем. По изначальной задумке автора, на этом прохождение уровня заканчивается.
Обработка столкновения с трубами
Маневрируя между препятствиями сейчас, мы можем как прикасаться к ним, так и вообще пролетать насквозь. Необходимо исправить это и запрограммировать, чтобы игра завершалась сразу, как персонаж заденет трубу.
Начнем с того, что добавим еще один стартовый блок в области кода у спрайта-птицы. Этот скрипт будет следить, не прикоснулась ли она к какой-то из труб, и делать оповещение внутри программы, если такое событие произошло.
У одного спрайта может быть и три, и более скриптов
Прицепляем и вкладываем нужные блоки. Сначала берем цикл «Повторять всегда», а в него идет «Если…, то» с условием «Касается [Трубы]?» (так мы поименовали спрайт с этим объектом).
После этого воспользуемся специализированным блоком «Передать [сообщение]». Он извещает все скрипты о чем-нибудь. У нас произошло столкновение с преградой, то есть конец игры. Так и запишем.
Создание нового оповещения в программе на Scratch
После этого приостановим все процессы, которые происходят у нашей птицы: она застынет в том месте, где была. Сделаем это добавлением блока «Стоп [другие скрипты спрайта]».
По умолчанию там стоит опция «все», но мы пока не останавливаем нашу игру полностью, поэтому выберем другой вариант.
Обработка столкновения с птицей
Теперь внесем правки в скрипты труб. Необходимо принять сообщение о конце игры и отреагировать на него.
Начнем новую цепочку блоков в области кода. Ее стартом будет «Когда я получу [сообщение]».
У нас в системе зарегистрировано только одно оповещение, поэтому автоматически подставится нужное, но лучше перепроверять, чтобы избежать возможных ошибок.
А действие будет одно — остановка всех процессов, запущенных здесь. Используем такой же блок, как у птицы, — «Стоп [другие скрипты спрайта]».
Получение и обработка оповещения в другом спрайте
Теперь движение всех объектов на экране остановится сразу, как только мы врежемся или даже краешком крыла коснемся трубы.
Начисление очков игроку
Наша версия Flappy Bird уже очень похожа на настоящую, в нее вполне можно играть. Но не хватает табло с заработанными очками. Более того, и числа, которое там можно было бы показать, у нас пока тоже нет. Этим и займемся.
Создадим новую переменную — «Очки«. И, пока мы здесь, уберем галочку напротив «Скорости падения«, чтобы на игровом поле она не выводилась.
Вы знали, что внешний вид счетчиков в Scratch можно менять и перемещать их по сцене? Подтяните мышкой «Очки» в любое место, куда захочется. В оригинальной игре, например, счет выводился в центре. А по клику правой кнопкой можно переключить формат отображения на «Крупный вид».
Переключение внешнего представления переменной на игровом поле
Первое, что нужно сделать с переменной, — это добавить обнуление очков при запуске игры. Увеличивать счет мы будем из спрайта с трубами, так что и задавать стартовое значение удобнее здесь же.
Используем блок «Задать… значение…», где из списка существующих переменных выберем «Очки«. Ноль в качестве начального числа нам вполне подходит, его не меняем.
Задаем начальное значение количества очков
На пару секунд остановимся и подумаем, за что игрок должен получать свои очки? В образце, с которого мы взяли и повторяем игровой процесс, нужно было преодолеть очередной зазор между трубами, чтобы счет увеличился на единицу.
Значит спрайт с трубой, пролетая мимо нашего героя, должен засчитываться как плюс один к значению переменной «Очки». Разумеется, если его не задели.
Но как определить, что препятствие позади? Тут каждому из вас придется провести серию экспериментов и выяснить нужную координату. Игрок не должен получать очко, если птица зацепилась за трубу хвостом, крылом или другой частью тела, даже когда почти удалось проскочить.
Отобразили и погоняли по экрану спрайт с трубами
Создадим еще одну ветку скрипта, снова начав с блока «Когда я начинаю как клон», и за ним следом закинем «Ждать до…». В этот блок добавим условие, при котором будет пора изменять счет игры. Состоит оно в том, что труба должна сдвинуться левее определенной позиции по горизонтали.
Возьмем оператор «… Игровой процесс реализованной нами копии Flappy Bird
Прежде чем закончить эту инструкцию, мы решили добавить в разработанный проект надпись о завершении игры. И сделаем это немного нестандартно. Можно было бы создать еще один спрайт и в нем написать нужный текст. Но в этот раз мы поступим иначе — будем переключать фоновое изображение.
Для перехода в редактор и создания надписи воспользуемся пунктом «Нарисовать». Он находится в меню на панели фонов.
Кнопка для перехода в редактор и создания своего фона
А там ждут уже знакомые инструменты, при помощи которых можно изобразить буквы от руки, собрать из фигур или задействовать инструмент «Текст».
Размер надписи можно сразу оценивать на рабочем экране, так как на время редактирования активным автоматически становится новый фон.
Когда будете удовлетворены результатом, переходите обратно на вкладку с областью кода. Сделаем скрипт для смены фонов.
Проверяем, что выбран теперь не спрайт, а панель фонов, и добавляем стандартный стартовый блок — «Когда зеленый флажок нажат».
К нему прицепляем специальную команду из группы «Внешний вид» — блок называется «Переключить фон на…». Выбираем там первый из предложенных. То есть при старте игры у нас будет включаться белый лист без надписей.
Рядом располагаем второй скрипт, тоже короткий. Начальным для него будет блок «Когда я получу [сообщение]» с выбранным оповещением о завершении игры, а вторым и единственным — «Переключить фон на [фон 2]».
Два скрипта для смены фона
С большими красными буквами наш Flappy Bird стал еще беспощадней.
Game Over в игре Flappy Bird, созданной на Scratch
В рамках статьи, конечно, рассмотрены не все нюансы и улучшения, этим мы предлагаем заняться вам.
Усложните или упростите свою игру, добавьте бонусы, других персонажей или новые виды препятствий — базовый проект можно подкручивать и улучшать, пока идеи не иссякнут. Удачи!
Уроки по Scratch. Как сделать игру Платформер на Скретч (Часть 1)
Как сделать платформер на Скретч | Платформер на Scratch | Уроки Scratch программирования для детейСкачатьПодробнее
уроки в скрэтч для начинающих 1 частьСкачатьПодробнее
Как сделать платформер на scratch | 1 часть | Движение и Гравитация |СкачатьПодробнее
Я программирую в Scratch игру геометри Даш часть 1СкачатьПодробнее
СОЗДАЁМ ПРОСТОЙ ПЛАТФОРМЕР В СКРЭТЧ(Scratch Туториал #1) часть 2СкачатьПодробнее
СОЗДАЁМ ПРОСТОЙ ПЛАТФОРМЕР В СКРЭТЧ (Scratch Туториал #1) часть 1СкачатьПодробнее
Scratch | Как создать игру Платформер-шутер? (часть 2)СкачатьПодробнее
Как сделать платформер на скретч Часть 1СкачатьПодробнее
Scratch | Как создать игру Платформер-шутер?СкачатьПодробнее
Уроки по Scratch.Для начинающих. Урок 6. Doodle Jump.Часть 1./Part 1СкачатьПодробнее
Делаем платформер на Scratch #4СкачатьПодробнее
Как создать игру ГОНОЧКИ на Скретч (часть 1)СкачатьПодробнее
Игра Неоновый платформер на Scratch 3 | Часть 3 | UP! School #82СкачатьПодробнее
Игра Неоновый платформер на Scratch 3 | Часть 2 | UP! School #81СкачатьПодробнее
Игра Неоновый платформер на Scratch 3 | Часть 1 | UP! School #80СкачатьПодробнее
Ты не поверишь! Это сделано в Scratch (Скретч) | Самые сложные игры на ScratchСкачатьПодробнее
Догонялка за 4 минуты | Как сделать САМУЮ ПРОСТУЮ ИГРУ на СкретчСкачатьПодробнее
Как СОЗДАТЬ игру AMONG US за 5 МИНУТ на ScratchСкачатьПодробнее
Как создать игру ПЛАТФОРМЕР в Скретч 2 (часть 1)
Показать панель управления
Комментарии • 765
Отличный гайд, всё детально рассказано, прямо «по полочкам», у меня даже вышло самому додуматься допилить двойной прыжок)))
Всё пока что работает, надеюсь не накосячу и не придется всё переделывать
Примерно недели две рисовал спрайты для платформера, предварительно посмотрев все 4 части, теперь готов делать скрипты. Спасибо вам большое!^^
Спасибо вам за создание платформера
Спасибо за физику героя. Я её использовала в своей игре. scratch.mit.edu/projects/225823769/#player
Спасибо большое со стенами, а то никак не мог понять как делать их как барьер. 😊
спасибо! всё обяснила понятно. теперь создаю разные игры. но только есть странность: когра он падает и косаеться земли то он чуть-чуть парит на ней
Я имел в виду гравитацию (просто тогда хорошо было видно этот скрипт)
Очень полезный урок. Как раз собирался делать платформер.
Спасибо! Рад таким руководством.
13:04 Здравствуйте, я потестил движение своего персонажа и когда решил проблему с этой стенкой, то заметил, что когда я врезаюсь в другую сторону, то даже если я с одной стороны прохожу и всё как надо, то с этой он сразу же запрыгивает. Если что, я просто хотел уточнить. Может это из-за разновидности, ведь я использовал Scratch 3 в отличии от вас.
Добрый день!
Поясните, пожалуйста, какой принцип подсчета переменной «Наклон»? Ведь конструкция получается «Увеличивать «Наклон» на 1, пока касается земли», но тем не менее на горизонтальной поверхности персонаж тоже касается земли, а значение не растет. И холм можно нарисовать под разными углами, но персонаж, кот в данном случае, всегда будет одинаково касаться краем лапки этого холма. А значения «Наклона» будут разные. Вопрос может и тривиальный, но найти ответ никак не могу. Заранее спасибо.
@игорь денисович блииииииин пж туториал
присмотрись: пока кот на горизонтали земли он не касается
У меня все получилось. Спасибо огромное, помогло, только жаль не показала как карту такую же как в начале сделать, молодец!
а как ты сделал падение у меня он не прыгает
@HeTTyTeBblu_TTyTb [GLF0N] там этого нет.
А где кнопка всегда? Или в 1 скрэтче нет? Если что я через Гугл( не скачивал)
Справа налево заходит на стенку, наоборот нет. Но все отлично, спасибо!
Неплохо) Развивайтесь еще, может сделаю на вас обзор)
Если со стенами не выходит, то сделайте стену как отдельный спрайт и всё😊
Я уже пробовал до этого гайда. Если ты так сделаешь на стену нельзя будет встать)
мне очень помогают ваши видео спасибо вам
Крутая игра, гравитация есть!
Спасибо за видео! Я делаю Happy Wheels и использую ваш код! Еще раз спасибо. Потом скину ссылку!
Ну как там happy wheels
@COOL MUSIC Кот касается земли, если он касается земли, то скорость падения = 0, когда нажимаю стрелку кот так же касается земли, собственно скорость падения 0 и ничего не происходит, а если после нажатия на стрелку поднять кота на 1 пиксель, то он не будет касаться земли и собственно по условию подпрыгнет
Спасибо большое очень помог
Для тех кто не знает:анимация кота была сделана профессиональным скретчером Griffpatch’ем
вы что книжку читали?
Если да, Круто
Catik (Кэтик) Вот каждый раз когда я вижу родную игру на скретч- это griffparch.
Мне кажется переменная где прыжок не нужна, всё и так нормально:)
спасибо за урок я обожаю игры платформеры (пример марио соник) спасибо за урок!
Ещё блок создал: Движок шаги направление. И отдельно клавиши влево вправо
Класс Спомошью Этого я делаю игру SkyRun! Классная получится!
спасибо, очень помогло!
СПАСИБО БОЛЬШОЕ! Я ПЕРЕМЕШАЛ ЭТУ ФИЗИКУ С СИСТЕМОЙ RAYCAST И СДЕЛАЛ ПЛАТФОРМЕР ОТ ПЕРВОГО ЛИЦА! думаю сделать hill climb racing
Вы открыли мне скретч 2 на 50 %
Источники информации:
- http://en.scratch-wiki.info/wiki/How_to_Make_a_Basic_Platformer
- http://clubpixel.ru/kak-sdelat-igru-v-skretch/tpost/b0dv51du23-sozdanie-igr-na-scratch-skretch-dlya-det
- http://inventwithscratch.com/book/chapter9.html
- http://thewikihow.com/video_SY-FKxKKHOk
- http://en.scratch-wiki.info/wiki/Scrolling_Platformer_Tutorial
- http://tproger.ru/articles/kak-sozdat-svoju-pervuju-igru-videouroki-scratch-dlja-detej/
- http://robx.org/wiki/prog/igry-na-scratch/flappy-bird-na-scratch/
- http://abesu.org/uroki-po-scratch-kak-sdelat-igru-platformer-na-skretch-chast-1
- http://flash-player.net/video/eLmdbRhHArw/%D1%83%D1%80%D0%BE%D0%BA%D0%B8-%D0%BF%D0%BE-scratch-%D0%BA%D0%B0%D0%BA-%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C-%D0%B8%D0%B3%D1%80%D1%83-%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D0%B5%D1%80-%D0%BD%D0%B0-%D1%81%D0%BA%D1%80%D0%B5%D1%82%D1%87-%D1%87%D0%B0%D1%81%D1%82%D1%8C-1.html