"godot touch scroll" Code Answer's
You're definitely familiar with the best coding language Whatever that developers use to develop their projects and they get all their queries like "godot touch scroll" answered properly. Developers are finding an appropriate answer about godot touch scroll related to the Whatever coding language. By visiting this online portal developers get answers concerning Whatever codes question like godot touch scroll. Enter your desired code related query in the search bar and get every piece of information about Whatever code related question on godot touch scroll.
godot touch scroll
extends ScrollContainer
# Allows you to scroll a scroll container by dragging.
# Includes momentum.
var swiping = false
var swipe_start
var swipe_mouse_start
var swipe_mouse_times = []
var swipe_mouse_positions = []
func _input(ev):
if ev is InputEventMouseButton:
if ev.pressed:
swiping = true
swipe_start = Vector2(get_h_scroll(), get_v_scroll())
swipe_mouse_start = ev.position
swipe_mouse_times = [OS.get_ticks_msec()]
swipe_mouse_positions = [swipe_mouse_start]
else:
swipe_mouse_times.append(OS.get_ticks_msec())
swipe_mouse_positions.append(ev.position)
var source = Vector2(get_h_scroll(), get_v_scroll())
var idx = swipe_mouse_times.size() - 1
var now = OS.get_ticks_msec()
var cutoff = now - 100
for i in range(swipe_mouse_times.size() - 1, -1, -1):
if swipe_mouse_times[i] >= cutoff: idx = i
else: break
var flick_start = swipe_mouse_positions[idx]
var flick_dur = min(0.3, (ev.position - flick_start).length() / 1000)
if flick_dur > 0.0:
var tween = Tween.new()
add_child(tween)
var delta = ev.position - flick_start
var target = source - delta * flick_dur * 15.0
tween.interpolate_method(self, 'set_h_scroll', source.x, target.x, flick_dur, Tween.TRANS_LINEAR, Tween.EASE_OUT)
tween.interpolate_method(self, 'set_v_scroll', source.y, target.y, flick_dur, Tween.TRANS_LINEAR, Tween.EASE_OUT)
tween.interpolate_callback(tween, flick_dur, 'queue_free')
tween.start()
swiping = false
elif swiping and ev is InputEventMouseMotion:
var delta = ev.position - swipe_mouse_start
set_h_scroll(swipe_start.x - delta.x)
set_v_scroll(swipe_start.y - delta.y)
swipe_mouse_times.append(OS.get_ticks_msec())
swipe_mouse_positions.append(ev.position)
Source: github.com
All those coders who are working on the Whatever based application and are stuck on godot touch scroll can get a collection of related answers to their query. Programmers need to enter their query on godot touch scroll related to Whatever code and they'll get their ambiguities clear immediately. On our webpage, there are tutorials about godot touch scroll for the programmers working on Whatever code while coding their module. Coders are also allowed to rectify already present answers of godot touch scroll while working on the Whatever language code. Developers can add up suggestions if they deem fit any other answer relating to "godot touch scroll". Visit this developer's friendly online web community, CodeProZone, and get your queries like godot touch scroll resolved professionally and stay updated to the latest Whatever updates.