Мультимедийные возможности с++
Download 143.59 Kb.
|
Информатика
4.Взаимодействие с врагом
У любого платформера есть какая-либо цель, миссия, после выполнения которой игра заканчивается либо победой игрока, либо его поражением. В данном платформере в качестве примера было принято решение целью игры сделать победу персонажа игры Sonic – Tails над персонажем из другой игровой вселенной – Mario. Для этого необходимо, во-первых, прописать последствия их столкновений, во-вторых, дать некоторое количество жизней Mario (например, 100) и, в-третьих, прописать два варианта событий – победа и поражение в игре. В следующем коде представлен результат: if (p.getRect().intersects(easyEnemy.getRect())) //проверяем пересечение игрока с врагом {if ((p.dy > 0)&(p.onGround == false)&(easyEnemy.health > 0)) { p.dy = -1; easyEnemy.health -= 25; }/*Если игрок падает сверху на еще живого Mario, то он отскакивает от него вверх и при этом количество жизней Mario сокращается на 25*/ else if ((easyEnemy.health > 0)) {p.sprite.setColor(Color::Red); p.health-=100;{text2.setString(“GAME OVER”); text2.setPosition(view.getCenter().x – 160, view.getCenter().y – 0); }} //Если игрока убил Mario, то появляется надпись красного цвета GAME OVER и экран игры начинает крутится против часовой стрелки, сам же Tails окрашивается в красный цвет. else if (easyEnemy.health <= 0) { easyEnemy.dx = 0; easyEnemy.sprite.setTextureRect(IntRect(-4, 20, 60, 20)); text2.setString(“YOU WIN”); text2.setColor(Color::Green); text2.setPosition(view.getCenter().x – 160, view.getCenter().y – 0); }} //Если игрок 4 раза прыгнул на Mario, то появляется надпись зеленого цвета YOU WIN. На рисунке 3 представлены два возможных исхода игры: Рисунок 3 – Два возможных результата игры победа и поражение главного героя 5.Звук Благодаря тому, что в качестве мультимедийной библиотеки в данной работе используется SFML, которая является высокоуровневой библиотекой, это позволяет добавлять в приложение музыку, в частности как фоновую, так и для озвучивания отдельных движений, например, прыжков героя. В качестве фоновой музыки была выбрана заглавная композиция фильма Рокки. Для добавления музыкального сопровождения необходимо подключить #include и прописать в главной функции следующий код: Music music; music.openFromFile(“Music.ogg”); music.play(); Music jumper; jumper.openFromFile(“Jump.ogg”); while (window.isOpen()) { if (p.state == p.jump) jumper.play(); … } Download 143.59 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling