Hallo erstmal,
ich nutze als Einstieg in SDL momentan das Tutorial: (
SDL-Tutorial), also jenes hier im Wiki. Da es in v1.2 angeboten wird und v2 besser scheint, hab ich angefangen das Tutorial zu migrieren. Es klappt auch alles relativ gut, nur hab ich nun das Problem, dass [SDLK_LAST], welches für das Bewegen des Sprites genutzt wird, in SDL2 laut dem
MigrationGuide gar nicht mehr existiert. Ich habe bereits eine Idee die auch funktioniert. Hier wollte ich nur fragen ob es eine bessere Möglichkeit dafür gebe. So sieht es momentan bei mir aus
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
SDL_Event event;
while (SDL_PollEvent(&event))
{
switch (event.type)
{
case SDL_KEYDOWN:
switch (event.key.keysym.sym)
{
case SDLK_UP:
b[0] = 1; break;
case SDLK_DOWN:
b[1] = 1; break;
case SDLK_RIGHT:
b[2] = 1; break;
case SDLK_LEFT:
b[3] = 1; break;
}
break;
case SDL_KEYUP:
switch (event.key.keysym.sym)
{
case SDLK_UP:
b[0] = 0; break;
case SDLK_DOWN:
b[1] = 0; break;
case SDLK_RIGHT:
b[2] = 0; break;
case SDLK_LEFT:
b[3] = 0; break;
}
break;
case SDL_QUIT:
run = false;
break;
}
//hoch
if (b[0] == true)
imagePosition.y -= 10;
//runter
if (b[1] == true)
imagePosition.y += 10;
//rechts
if (b[2] == true)
imagePosition.x += 10;
//links
if (b[3] == true)
imagePosition.x -= 10;
|