From df97221788cc71527f28d094d754e78076c5c063 Mon Sep 17 00:00:00 2001 From: Fabien Freling Date: Fri, 3 Jan 2020 14:22:50 +0100 Subject: [PATCH] add android export with swipe gestures --- game/android/debug.keystore | Bin 0 -> 2148 bytes game/export_presets.cfg | 197 ++++++++++++++++++++++++++++++++++++ game/project.godot | 6 ++ game/src/MainMobile.tscn | 20 ++++ game/src/Taquin.gd | 16 +++ 5 files changed, 239 insertions(+) create mode 100644 game/android/debug.keystore create mode 100644 game/export_presets.cfg create mode 100644 game/src/MainMobile.tscn diff --git a/game/android/debug.keystore b/game/android/debug.keystore new file mode 100644 index 0000000000000000000000000000000000000000..46270cbb2a5b48d420eb888e6f78242e4740b9b1 GIT binary patch literal 2148 zcmbW1X*kpi8^-^$80(CE%Mck6;jgSIHKmuV6<$J;u}ij;8C%AlqBNFc8d)PdgOhbQ z_I;TOWwJBT(2_4?q-xM+E_aLzJO{5C{hVC&JgHI$pGT7}mV;F;nms4y#zHxWv_PWI(cm&G8Y2D}9CnVm6QInsVbL`bFwWin;vu z_cLT<*3*+C!=nVySIkB^maA;jUHo#C$?Os}#VRDA>i#1CB)Qk+{qu&bnMJBdW*Kd( znmI9!t)%9A4iMlbaKiD@B0Y|GHwFW##aW2fd+C`4j`;Z?9b1#VEgisKCToORq7}q+ zY)FE2P|&$&R~+#kk;_R+R#Erb6(vj<*Lk)-iq$vB_&%};xeTw&yBFbmVxv}JLgloh zl{S>NJ%id-$rnJIq-d6nR3k_0eI_>wECX2F%b;9F=8N`VvFhvFy9EkDJ+m(U>G>ai zW+lZ$gutQ`7;n4c=6f}CR!-#Rdi3DXmZ6&wLw0m(xKq*y7okUd;4H!)94YDNM6wpY zii#~*RMAnM)SKS?XO6X>(>oYu4n!NsiL>v;Tv2(b+LTeT&hyDRzNlCHR&on_>T6#) zZ?XM2h4ENFR6fanQ6%D<;w7lbbNBrfZzY`mQd6lXkrj38g&kedznk&C z>uU{qNz`YESVi%R8su|9Ew_tUk8rjMG^Qk#h3laDtkmy)ThCLq-g`n>gr7BE9$FQ< zPLHh}mD2qFN7~aXZ`LztG;FpO^}u>8ez5p!=@|YU=J86`&;a8$lg-ywh1PFYY+7CkDqYKYb)oUY^i+Kw zJm9jb0R&gIVE(IZ{Ua}Xw_v+=z}51#!z!m5cv2mg5L!I#CeD~lv#-`uZw!gZH`|GH zmls4*r~O~qN6TVWqcud2I7X`fAfX%#qZYbqVmF)lnA6M8qC>`CMKF!j%vtP5qulNX zzpj@1y+=eQ?#ee~0tr)f+Ry5xDIKOV58O&qiym^1zZ8cWn8t4Ld#h8~^K}K7JElb0 zHT3lRXuqcOZtOF>MVL5mM`j!k2q`eKUDnk+VM#xwHr*sa8?Lhjit4}N-^2ts+B6Zz z9NJhfC3_xl^avnI9sK4NCQl#tl6M5F-#du8Q*B8B8cLqzU_-YQT;3k&TV7FLXATIB zR^zKQ@1%)d5{)~3uFLppFuI44gPZ*2qwf*$k=K%s1D>6-K{qV zRgsz-WUxqiN!D)^v3M9igWyd_dK?n4C3-=sFH!7jC*7SpgP}vp5wrD6Y+)bPR3O3)y~n2)-D@1 z>i&`cC_<$}zprlhF@ggdIa0GAABJoIHwEWU3{xZn{aPY#-I)znlwx~kr*23F)nItJ zLxjH=rwWDDKGxl&_p%bQ{O588c#qGW0pf*Jhy2A3Vn55Z*^KA$ct!5d{V@@j--%Mg zn=>FTUX~ZwWd?$YOWEA!P#6S&YP^d*wJNmxRa$y_m=sWYf6V5})|2czwVg#JU z0+;zN@=6h}P2sN|Yi;@YVLqD;Rp1_JPV#O{^iBG-que)lo4w1s@AN!Gx+=Wcph><) zoX^%@Hbky$b~|ahI~ojS#R!#8hX$cbuJyWGv0gfmDZGdoCzJY>{nsav)k2Pv>t7_s z2>bods`Hj6NLL(Gp8dp72s2TbX7M((|Ft#Irn1=I4T*+~`&Q+GRW_`im#tfSH{Hn0 z+h+Q{*FH&Vp{mt~$-_#q7JYS4*`xM`udqp g>E}~x6rn>miiGjF;Z82N(OqB1j$bZ6H72h83CfPvxc~qF literal 0 HcmV?d00001 diff --git a/game/export_presets.cfg b/game/export_presets.cfg new file mode 100644 index 0000000..84154a0 --- /dev/null +++ b/game/export_presets.cfg @@ -0,0 +1,197 @@ +[preset.0] + +name="Android" +platform="Android" +runnable=true +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="" +patch_list=PoolStringArray( ) +script_export_mode=1 +script_encryption_key="" + +[preset.0.options] + +graphics/32_bits_framebuffer=true +one_click_deploy/clear_previous_install=false +custom_package/debug="" +custom_package/release="" +command_line/extra_args="" +version/code=1 +version/name="1.0" +package/unique_name="com.ffreling.taqin" +package/name="Taqin" +package/signed=true +screen/immersive_mode=true +screen/orientation=1 +screen/support_small=true +screen/support_normal=true +screen/support_large=true +screen/support_xlarge=true +screen/opengl_debug=false +launcher_icons/xxxhdpi_192x192="" +launcher_icons/xxhdpi_144x144="" +launcher_icons/xhdpi_96x96="" +launcher_icons/hdpi_72x72="" +launcher_icons/mdpi_48x48="" +keystore/debug="" +keystore/debug_user="" +keystore/debug_password="" +keystore/release="" +keystore/release_user="" +keystore/release_password="" +apk_expansion/enable=false +apk_expansion/SALT="" +apk_expansion/public_key="" +architectures/armeabi-v7a=true +architectures/arm64-v8a=true +architectures/x86=false +architectures/x86_64=false +permissions/custom_permissions=PoolStringArray( ) +permissions/access_checkin_properties=false +permissions/access_coarse_location=false +permissions/access_fine_location=false +permissions/access_location_extra_commands=false +permissions/access_mock_location=false +permissions/access_network_state=false +permissions/access_surface_flinger=false +permissions/access_wifi_state=false +permissions/account_manager=false +permissions/add_voicemail=false +permissions/authenticate_accounts=false +permissions/battery_stats=false +permissions/bind_accessibility_service=false +permissions/bind_appwidget=false +permissions/bind_device_admin=false +permissions/bind_input_method=false +permissions/bind_nfc_service=false +permissions/bind_notification_listener_service=false +permissions/bind_print_service=false +permissions/bind_remoteviews=false +permissions/bind_text_service=false +permissions/bind_vpn_service=false +permissions/bind_wallpaper=false +permissions/bluetooth=false +permissions/bluetooth_admin=false +permissions/bluetooth_privileged=false +permissions/brick=false +permissions/broadcast_package_removed=false +permissions/broadcast_sms=false +permissions/broadcast_sticky=false +permissions/broadcast_wap_push=false +permissions/call_phone=false +permissions/call_privileged=false +permissions/camera=false +permissions/capture_audio_output=false +permissions/capture_secure_video_output=false +permissions/capture_video_output=false +permissions/change_component_enabled_state=false +permissions/change_configuration=false +permissions/change_network_state=false +permissions/change_wifi_multicast_state=false +permissions/change_wifi_state=false +permissions/clear_app_cache=false +permissions/clear_app_user_data=false +permissions/control_location_updates=false +permissions/delete_cache_files=false +permissions/delete_packages=false +permissions/device_power=false +permissions/diagnostic=false +permissions/disable_keyguard=false +permissions/dump=false +permissions/expand_status_bar=false +permissions/factory_test=false +permissions/flashlight=false +permissions/force_back=false +permissions/get_accounts=false +permissions/get_package_size=false +permissions/get_tasks=false +permissions/get_top_activity_info=false +permissions/global_search=false +permissions/hardware_test=false +permissions/inject_events=false +permissions/install_location_provider=false +permissions/install_packages=false +permissions/install_shortcut=false +permissions/internal_system_window=false +permissions/internet=false +permissions/kill_background_processes=false +permissions/location_hardware=false +permissions/manage_accounts=false +permissions/manage_app_tokens=false +permissions/manage_documents=false +permissions/master_clear=false +permissions/media_content_control=false +permissions/modify_audio_settings=false +permissions/modify_phone_state=false +permissions/mount_format_filesystems=false +permissions/mount_unmount_filesystems=false +permissions/nfc=false +permissions/persistent_activity=false +permissions/process_outgoing_calls=false +permissions/read_calendar=false +permissions/read_call_log=false +permissions/read_contacts=false +permissions/read_external_storage=false +permissions/read_frame_buffer=false +permissions/read_history_bookmarks=false +permissions/read_input_state=false +permissions/read_logs=false +permissions/read_phone_state=false +permissions/read_profile=false +permissions/read_sms=false +permissions/read_social_stream=false +permissions/read_sync_settings=false +permissions/read_sync_stats=false +permissions/read_user_dictionary=false +permissions/reboot=false +permissions/receive_boot_completed=false +permissions/receive_mms=false +permissions/receive_sms=false +permissions/receive_wap_push=false +permissions/record_audio=false +permissions/reorder_tasks=false +permissions/restart_packages=false +permissions/send_respond_via_message=false +permissions/send_sms=false +permissions/set_activity_watcher=false +permissions/set_alarm=false +permissions/set_always_finish=false +permissions/set_animation_scale=false +permissions/set_debug_app=false +permissions/set_orientation=false +permissions/set_pointer_speed=false +permissions/set_preferred_applications=false +permissions/set_process_limit=false +permissions/set_time=false +permissions/set_time_zone=false +permissions/set_wallpaper=false +permissions/set_wallpaper_hints=false +permissions/signal_persistent_processes=false +permissions/status_bar=false +permissions/subscribed_feeds_read=false +permissions/subscribed_feeds_write=false +permissions/system_alert_window=false +permissions/transmit_ir=false +permissions/uninstall_shortcut=false +permissions/update_device_stats=false +permissions/use_credentials=false +permissions/use_sip=false +permissions/vibrate=false +permissions/wake_lock=false +permissions/write_apn_settings=false +permissions/write_calendar=false +permissions/write_call_log=false +permissions/write_contacts=false +permissions/write_external_storage=false +permissions/write_gservices=false +permissions/write_history_bookmarks=false +permissions/write_profile=false +permissions/write_secure_settings=false +permissions/write_settings=false +permissions/write_sms=false +permissions/write_social_stream=false +permissions/write_sync_settings=false +permissions/write_user_dictionary=false diff --git a/game/project.godot b/game/project.godot index ecdf600..6bc20b7 100644 --- a/game/project.godot +++ b/game/project.godot @@ -29,10 +29,16 @@ _global_script_class_icons={ config/name="Taqin" run/main_scene="res://src/Main.tscn" config/icon="res://icon.png" +run/main_scene.mobile="res://src/MainMobile.tscn" [display] window/size/resizable=false +window/handheld/orientation.mobile="portrait" +window/size/width.mobile=600 +window/size/height.mobile=1200 +window/stretch/mode.mobile="2d" +window/stretch/aspect.mobile="expand" [rendering] diff --git a/game/src/MainMobile.tscn b/game/src/MainMobile.tscn new file mode 100644 index 0000000..2cab8a9 --- /dev/null +++ b/game/src/MainMobile.tscn @@ -0,0 +1,20 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://src/Main.gd" type="Script" id=1] +[ext_resource path="res://src/Taquin.tscn" type="PackedScene" id=2] + +[node name="Main" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( 1 ) + +[node name="Taquin" parent="." instance=ExtResource( 2 )] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -270.0 +margin_top = -280.0 +margin_right = 270.0 +margin_bottom = 280.0 +[connection signal="solved" from="Taquin" to="." method="_on_Taquin_solved"] diff --git a/game/src/Taquin.gd b/game/src/Taquin.gd index 0ab890b..8934172 100644 --- a/game/src/Taquin.gd +++ b/game/src/Taquin.gd @@ -21,6 +21,8 @@ var rng = RandomNumberGenerator.new() var current_animation_path: String = "AnimationPlayer/MockPiece:position" +var swipe = Vector2(0, 0) + func position_for_index(index: Vector2, size: int) -> Vector2: return Vector2(padding + index.x * (size + interpiece), padding + index.y * (size + interpiece)) @@ -76,6 +78,20 @@ func _input(event): if event.is_action_pressed("ui_right"): move_piece(Direction.LEFT) + if event is InputEventScreenDrag: + swipe = event.relative + if event is InputEventScreenTouch: + if not event.pressed: # Touch released + var angle = swipe.angle() + if angle < PI / 4 and angle >= - PI / 4: + move_piece(Direction.LEFT) + if angle >= PI / 4 and angle < PI - PI / 4: + move_piece(Direction.UP) + if angle >= - PI + PI / 4 and angle < - PI / 4: + move_piece(Direction.DOWN) + if angle >= PI - PI / 4 or angle < -PI + PI / 4: + move_piece(Direction.RIGHT) + enum Direction { UP, DOWN, LEFT, RIGHT } func move_piece(direction) -> bool: