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

question-closed C++ SFML problem z inicjalizacją Vector2f

0 głosów
257 wizyt
pytanie zadane 5 sierpnia 2017 w C i C++ przez CPP_Newbie Użytkownik (770 p.)
zamknięte 5 sierpnia 2017 przez CPP_Newbie

Witam,

Może ktoś mi wyjaśnić dlaczego według VS zapis w linii 9 jest nieprawidłowy?

Rzekomo ballVelocity nie jest nazwą typu. Jeśli zmienię nawiasy na klamrowe jest ok.

const int SCREEN_WIDTH = 800;
const int SCREEN_HEIGHT = 600;
const float ballRadius = 10.0f;
const float ballVelocity = 8.0f;

struct  Ball
{
	CircleShape shape;
	Vector2f velocity( -ballVelocity, -ballVelocity );

	float x()		{ return shape.getPosition().x; }
	float y()		{ return shape.getPosition().y; }
	float left()	{ return x() - shape.getRadius(); }
	float right()	{ return x() + shape.getRadius(); }
	float top()		{ return y() - shape.getRadius(); }
	float bottom()	{ return y() + shape.getRadius(); }

	Ball(float mX, float mY)
	{
		shape.setPosition(mX, mY);
		shape.setRadius(ballRadius);
		shape.setFillColor(Color::Red);
		shape.setOrigin(ballRadius, ballRadius);
	}

	void update()
	{
		shape.move(velocity);

		if (left() < 0)
			velocity.x = ballVelocity;
		if (right() > SCREEN_WIDTH)
			velocity.x = -ballVelocity;
		if (top() < 0)
			velocity.y = ballVelocity;
		if (bottom() > SCREEN_HEIGHT)
			velocity.y = -ballVelocity;
	}
};

 

komentarz zamknięcia: problem rozwiązany

1 odpowiedź

+1 głos
odpowiedź 5 sierpnia 2017 przez PoetaKodu Stary wyjadacz (10,990 p.)

Nie możesz zdefiniować w taki sposób obiektów poza konstruktorem. Zamiast tego użyj nawiasów klamrowych:

Vector2f velocity{ballVelocity, ballVelocity};

Edit:
Następnym razem wklejaj kod normalnie, masz do tego taki znacznik w edytorze - { } code. Do tego przydałoby się, gdybyś pisał błędy jakie dostajesz -.-

komentarz 5 sierpnia 2017 przez CPP_Newbie Użytkownik (770 p.)
Poprawiłem kod.

Dzięki za odpowiedź. Takie są efekty, gdy człowiek niewyspany...

Podobne pytania

+1 głos
3 odpowiedzi 4,086 wizyt
pytanie zadane 7 sierpnia 2016 w C i C++ przez sprytny22 Obywatel (1,130 p.)
0 głosów
0 odpowiedzi 290 wizyt
pytanie zadane 11 listopada 2018 w C i C++ przez gorgonkowa Obywatel (1,810 p.)
0 głosów
3 odpowiedzi 2,965 wizyt
pytanie zadane 31 lipca 2018 w C i C++ przez Ptaszor3 Użytkownik (900 p.)

93,604 zapytań

142,527 odpowiedzi

322,995 komentarzy

63,090 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

Kursy INF.02 i INF.03
...