• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dwa klawisze na raz - SFML/C++

Object Storage Arubacloud
0 głosów
238 wizyt
pytanie zadane 16 września 2018 w C i C++ przez Kijoszi Początkujący (330 p.)

Hej! Jak zrobić, żeby na akcje dwóch klawiszy (LShift i Left) sprite mi przyspieszył?

if (sf::Keyboard::isKeyPressed(Keyboard::Left))
		{

			sprite.move(-velocity, 0);

		}
	

 

aktualnie mam tak i chce, żebym przy wciśnięciu LShifta i Lewej strzałki miał 

sprite.move(-velocity-2, 0);

 

1 odpowiedź

+1 głos
odpowiedź 16 września 2018 przez Knayder Nałogowiec (37,640 p.)
wybrane 17 września 2018 przez draghan
 
Najlepsza
float velocity = 1.f;
if(shift)
    velocity = 2.f;
if(leftArrow)
    sprite.move(-velocity, 0.f);

 

komentarz 16 września 2018 przez Kijoszi Początkujący (330 p.)

nie rozumiem ;/ moze dam cały kod

 

#include <iostream>
#include <SFML\Graphics.hpp>
#include <SFML\Audio.hpp>

using namespace sf;
using namespace std;

//Variables
float velocity = 8;

int main()
{
	//App
	RenderWindow app{ VideoMode{800,850}, "Touhou" };

	app.setFramerateLimit(60);
	app.setVerticalSyncEnabled(true);

	//Sprite1
	sf::Texture reimu;
	reimu.loadFromFile("reimu2.png");
	reimu.setSmooth(true);
	sf::Sprite sprite(reimu); 
	sprite.setPosition(sf::Vector2f(400, 500));
	//Sprite2

	sf::Texture reimu1;
	reimu1.loadFromFile("reimu3.png");
	reimu1.setSmooth(true);
	sf::Sprite sprite2(reimu1);
	sprite2.setPosition(sf::Vector2f(400, 500));

	
	
	//Music
	sf::SoundBuffer buffer;

	sf::Music music;

	if (!music.openFromFile("sound.ogg"))

	{

		cout << "ERROR" << endl;

	}

	music.play();
	music.setVolume(10);




	//Action

	Event event;

	while (true)
	{
		app.clear(sf::Color::Black);
		
		app.pollEvent(event);
		if (event.type == Event::Closed)
		{
			app.close();
			break;
		}

		if (sf::Keyboard::isKeyPressed(Keyboard::Escape))
		{

			app.close();
		}
		
		if (sf::Keyboard::isKeyPressed(Keyboard::Left))
		{

			sprite.move(-velocity, 0);

		}
		

		if (sf::Keyboard::isKeyPressed(Keyboard::Right))

		{

			sprite.move(velocity, 0);

		}
	    
	     
		if (sf::Keyboard::isKeyPressed(Keyboard::Up))
		{

			sprite.move(0, -velocity);

		}

		if (sf::Keyboard::isKeyPressed(Keyboard::Down))
		{

			sprite.move(0, velocity);
		}


		app.draw(sprite);
		app.display();
	}
	







	return 0;

}

 

komentarz 16 września 2018 przez Kijoszi Początkujący (330 p.)
nevermind, juz ogarnąłem

Podobne pytania

+4 głosów
5 odpowiedzi 498 wizyt
0 głosów
2 odpowiedzi 306 wizyt
pytanie zadane 8 czerwca 2017 w C i C++ przez Meltern Początkujący (440 p.)

92,588 zapytań

141,439 odpowiedzi

319,688 komentarzy

61,974 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...