Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
GameDevWeek
Sommersemester 2015
Cpp
Deth Buff Arr
Commits
76bd1425
Commit
76bd1425
authored
Sep 21, 2015
by
Benjamin 'Albsi' Albsmeier
Browse files
keys still not working
parent
5c98ce0f
Changes
3
Hide whitespace changes
Inline
Side-by-side
include/input/input.hpp
View file @
76bd1425
...
...
@@ -14,6 +14,10 @@ namespace gdw{
void
update
(
const
SDL_Event
&
event
);
int
isKeyDown
(
SDL_Scancode
key
);
bool
isKeyPressed
(
SDL_Scancode
key
);
bool
isKeyReleased
(
SDL_Scancode
key
);
int
isKeyDown
(
SDL_Keycode
key
);
bool
isKeyPressed
(
SDL_Keycode
key
);
bool
isKeyReleased
(
SDL_Keycode
key
);
...
...
@@ -37,9 +41,9 @@ namespace gdw{
std
::
map
<
int
,
int
>
mouseMap_
;
std
::
map
<
int
,
int
>
mouseReleasedMap_
;
std
::
map
<
int
,
int
>::
iterator
mouseIt_
;
std
::
map
<
SDL_
Key
code
,
int
>
keyMap_
;
std
::
map
<
SDL_
Key
code
,
int
>
keyReleasedMap_
;
std
::
map
<
SDL_
Key
code
,
int
>::
iterator
keyIt_
;
std
::
map
<
SDL_
Scan
code
,
int
>
keyMap_
;
std
::
map
<
SDL_
Scan
code
,
int
>
keyReleasedMap_
;
std
::
map
<
SDL_
Scan
code
,
int
>::
iterator
keyIt_
;
};
}
...
...
src/core/engine.cpp
View file @
76bd1425
...
...
@@ -62,8 +62,8 @@ namespace gdw {
delta_time
=
current_time
-
last_time
;
input_
->
update
(
event
);
if
(
input_
->
isKeyDown
(
SDL
K_h
)){
std
::
cout
<<
"h down:"
<<
input_
->
isKeyDown
(
SDL
K_h
)
<<
std
::
endl
;
if
(
input_
->
isKeyDown
(
SDL
_SCANCODE_H
)){
std
::
cout
<<
"h down:"
<<
input_
->
isKeyDown
(
SDL
_SCANCODE_H
)
<<
std
::
endl
;
}
update
(
delta_time
);
entity_manager_
.
clean_up
();
...
...
src/input/input.cpp
View file @
76bd1425
...
...
@@ -47,26 +47,38 @@ namespace gdw{
}
if
(
event
.
type
==
SDL_KEYDOWN
){
if
((
keyMap_
.
find
(
event
.
key
.
keysym
.
s
ym
))
==
keyMap_
.
end
()){
keyMap_
.
emplace
(
event
.
key
.
keysym
.
s
ym
,
1
);
if
((
keyMap_
.
find
(
event
.
key
.
keysym
.
s
cancode
))
==
keyMap_
.
end
()){
keyMap_
.
emplace
(
event
.
key
.
keysym
.
s
cancode
,
1
);
}
++
keyMap_
[
event
.
key
.
keysym
.
s
ym
];
++
keyMap_
[
event
.
key
.
keysym
.
s
cancode
];
}
if
(
event
.
type
==
SDL_KEYUP
){
keyMap_
[
event
.
key
.
keysym
.
s
ym
]
=
0
;
keyMap_
[
event
.
key
.
keysym
.
s
cancode
]
=
0
;
}
}
int
input
::
isKeyDown
(
SDL_Keycode
key
){
int
isKeyDown
(
SDL_Keycode
key
){
return
isKeyDown
(
SDL_GetScancodeFromKey
(
key
));
}
bool
isKeyPressed
(
SDL_Keycode
key
){
return
isKeyPressed
(
SDL_GetScancodeFromKey
(
key
));
}
bool
isKeyReleased
(
SDL_Keycode
key
){
return
isKeyReleased
(
SDL_GetScancodeFromKey
(
key
));
}
int
input
::
isKeyDown
(
SDL_Scancode
key
){
return
keyMap_
[
key
];
}
bool
input
::
isKeyPressed
(
SDL_
Key
code
key
){
bool
input
::
isKeyPressed
(
SDL_
Scan
code
key
){
return
keyMap_
[
key
]
==
1
;
}
bool
input
::
isKeyReleased
(
SDL_
Key
code
key
){
bool
input
::
isKeyReleased
(
SDL_
Scan
code
key
){
return
keyReleasedMap_
[
key
];
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment