diff options
| author | volzhs | 2018-01-07 23:11:58 +0900 |
|---|---|---|
| committer | volzhs | 2018-01-07 23:29:44 +0900 |
| commit | 8fbb82719e6d1f4e29980d66380474b6a0c45e1d (patch) | |
| tree | d1b4cc40350f819a7e1eb6fbb64c2ae3ede97507 /platform/android/os_android.cpp | |
| parent | 8e8240450edc48f4fb379e593a4ef7f54ab656b7 (diff) | |
| download | godot-8fbb82719e6d1f4e29980d66380474b6a0c45e1d.tar.gz godot-8fbb82719e6d1f4e29980d66380474b6a0c45e1d.tar.zst godot-8fbb82719e6d1f4e29980d66380474b6a0c45e1d.zip | |
Diffstat (limited to 'platform/android/os_android.cpp')
| -rw-r--r-- | platform/android/os_android.cpp | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/platform/android/os_android.cpp b/platform/android/os_android.cpp index 93272a100..23811f963 100644 --- a/platform/android/os_android.cpp +++ b/platform/android/os_android.cpp @@ -444,25 +444,27 @@ void OS_Android::process_touch(int p_what, int p_pointer, const Vector<TouchPos> } touch.clear(); } - } break; - case 3: { // add tuchi - - ERR_FAIL_INDEX(p_pointer, p_points.size()); + case 3: { // add touch - TouchPos tp = p_points[p_pointer]; - touch.push_back(tp); + for (int i = 0; i < p_points.size(); i++) { + if (p_points[i].id == p_pointer) { + TouchPos tp = p_points[i]; + touch.push_back(tp); - Ref<InputEventScreenTouch> ev; - ev.instance(); + Ref<InputEventScreenTouch> ev; + ev.instance(); - ev->set_index(tp.id); - ev->set_pressed(true); - ev->set_position(tp.pos); - input->parse_input_event(ev); + ev->set_index(tp.id); + ev->set_pressed(true); + ev->set_position(tp.pos); + input->parse_input_event(ev); + break; + } + } } break; - case 4: { + case 4: { // remove touch for (int i = 0; i < touch.size(); i++) { if (touch[i].id == p_pointer) { @@ -474,10 +476,10 @@ void OS_Android::process_touch(int p_what, int p_pointer, const Vector<TouchPos> ev->set_position(touch[i].pos); input->parse_input_event(ev); touch.remove(i); - i--; + + break; } } - } break; } } |
