Compare commits

..

3 Commits

Author SHA1 Message Date
James
6ac70e6a75 kinda usable but not perfect 2024-01-15 19:15:50 +00:00
James
706590e3dd getting close with android inutr 2024-01-15 18:04:33 +00:00
James
fec645d6b3 fix 2023-12-28 19:51:01 +00:00
6 changed files with 54 additions and 3 deletions

View File

@ -2,12 +2,20 @@ extends Camera2D
var last_mouse_position = Vector2.ZERO
var touch_start_positions = {}
var last_zoom_distance = -1
var last_zoom_center = Vector2.ZERO
func _ready():
set_process_input(true)
func _input(event):
print(event.as_text())
handle_mouse_events(event)
handle_touch_events(event)
func handle_mouse_events(event):
if event is InputEventMouseButton:
if event.button_index == MOUSE_BUTTON_RIGHT and event.pressed:
last_mouse_position = get_global_mouse_position()
@ -36,3 +44,34 @@ func zoom_towards_mouse(zoom_factor):
zoom *= zoom_factor
var diff = previous_mouse_position - get_local_mouse_position()
position += diff
func handle_touch_events(event):
if event is InputEventScreenTouch:
if event.pressed:
touch_start_positions[event.index] = event.position
if event.index==0:
$"../Touch1Sprite".position=event.position
if event.index==1:
$"../Touch2Sprite".position=event.position
if len(touch_start_positions) == 2:
last_zoom_distance = touch_start_positions[0].distance_to(touch_start_positions[1])
last_zoom_center = (touch_start_positions[0] + touch_start_positions[1]) / 2.0
else:
touch_start_positions.erase(event.index)
last_zoom_distance = -1
last_zoom_center = Vector2.ZERO
elif event is InputEventScreenDrag:
if event.index in touch_start_positions:
touch_start_positions[event.index] = event.position
if len(touch_start_positions) == 2:
var new_zoom_center = (touch_start_positions[0] + touch_start_positions[1]) / 2.0
var new_zoom_distance = touch_start_positions[0].distance_to(touch_start_positions[1])
if last_zoom_distance > 0:
var zoom_factor = last_zoom_distance / new_zoom_distance
zoom/=zoom_factor
position -= (new_zoom_center - last_zoom_center) / zoom
last_zoom_distance = new_zoom_distance
last_zoom_center = new_zoom_center

View File

@ -8,7 +8,7 @@ custom_features=""
export_filter="all_resources"
include_filter="saves/*"
exclude_filter=""
export_path="bin/alpha11.apk"
export_path="../../cloud@jhodges/alpha110.apk"
encryption_include_filters=""
encryption_exclude_filters=""
encrypt_pck=false

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -72,5 +72,4 @@ escape={
[rendering]
renderer/rendering_method="gl_compatibility"
textures/vram_compression/import_etc2_astc=true

View File

@ -20,6 +20,17 @@ script = ExtResource("2_rolej")
script = ExtResource("4_g4kw0")
[node name="OriginSprite" type="Sprite2D" parent="Map"]
modulate = Color(0, 0, 0, 1)
scale = Vector2(0.2, 0.2)
texture = ExtResource("3_i24br")
[node name="Touch1Sprite" type="Sprite2D" parent="Map"]
modulate = Color(0, 0.513726, 0, 1)
scale = Vector2(0.2, 0.2)
texture = ExtResource("3_i24br")
[node name="Touch2Sprite" type="Sprite2D" parent="Map"]
modulate = Color(0, 0, 0.827451, 1)
scale = Vector2(0.2, 0.2)
texture = ExtResource("3_i24br")

View File

@ -210,6 +210,8 @@ layout_mode = 2
[node name="Type" type="OptionButton" parent="VBoxContainer/Impulse"]
layout_mode = 2
size_flags_horizontal = 0
size_flags_vertical = 0
item_count = 2
selected = 0
popup/item_0/text = "Linear"