kinda usable but not perfect
This commit is contained in:
parent
706590e3dd
commit
6ac70e6a75
12
Camera2D.gd
12
Camera2D.gd
@ -49,6 +49,10 @@ func handle_touch_events(event):
|
|||||||
if event is InputEventScreenTouch:
|
if event is InputEventScreenTouch:
|
||||||
if event.pressed:
|
if event.pressed:
|
||||||
touch_start_positions[event.index] = event.position
|
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:
|
if len(touch_start_positions) == 2:
|
||||||
last_zoom_distance = touch_start_positions[0].distance_to(touch_start_positions[1])
|
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
|
last_zoom_center = (touch_start_positions[0] + touch_start_positions[1]) / 2.0
|
||||||
@ -66,14 +70,8 @@ func handle_touch_events(event):
|
|||||||
|
|
||||||
if last_zoom_distance > 0:
|
if last_zoom_distance > 0:
|
||||||
var zoom_factor = last_zoom_distance / new_zoom_distance
|
var zoom_factor = last_zoom_distance / new_zoom_distance
|
||||||
zoom_towards_point(last_zoom_center, zoom_factor)
|
zoom/=zoom_factor
|
||||||
position -= (new_zoom_center - last_zoom_center) / zoom
|
position -= (new_zoom_center - last_zoom_center) / zoom
|
||||||
|
|
||||||
last_zoom_distance = new_zoom_distance
|
last_zoom_distance = new_zoom_distance
|
||||||
last_zoom_center = new_zoom_center
|
last_zoom_center = new_zoom_center
|
||||||
|
|
||||||
func zoom_towards_point(zoom_center: Vector2, zoom_factor: float):
|
|
||||||
var local_zoom_center = (zoom_center - global_position) / zoom
|
|
||||||
zoom *= Vector2(zoom_factor, zoom_factor)
|
|
||||||
var diff = local_zoom_center - (zoom_center - global_position) / zoom
|
|
||||||
position += diff
|
|
||||||
|
@ -8,7 +8,7 @@ custom_features=""
|
|||||||
export_filter="all_resources"
|
export_filter="all_resources"
|
||||||
include_filter="saves/*"
|
include_filter="saves/*"
|
||||||
exclude_filter=""
|
exclude_filter=""
|
||||||
export_path="bin/alpha104.apk"
|
export_path="../../cloud@jhodges/alpha110.apk"
|
||||||
encryption_include_filters=""
|
encryption_include_filters=""
|
||||||
encryption_exclude_filters=""
|
encryption_exclude_filters=""
|
||||||
encrypt_pck=false
|
encrypt_pck=false
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 15 KiB |
11
sim.tscn
11
sim.tscn
@ -20,6 +20,17 @@ script = ExtResource("2_rolej")
|
|||||||
script = ExtResource("4_g4kw0")
|
script = ExtResource("4_g4kw0")
|
||||||
|
|
||||||
[node name="OriginSprite" type="Sprite2D" parent="Map"]
|
[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)
|
scale = Vector2(0.2, 0.2)
|
||||||
texture = ExtResource("3_i24br")
|
texture = ExtResource("3_i24br")
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user