ruffle-rs / ruffle-android

An Android application for ruffle.rs
Other
268 stars 39 forks source link

better toolbar and keyboard #42

Open soundsnow opened 1 year ago

soundsnow commented 1 year ago

background: outline or fill opacity: 0-255 color: RGB0-255

screenshot: outline, 255, white shift and capslock is one key after you input another key grey keys will be transparent (default), but purple keys won't be changed unless tap them again manually landscape portrait press hold

I remember some hotkeys for web browsers Ctrl+R, F5 Refresh page Ctrl+W, Alt+ F4 close page I added them to top toolbar Rufffle bar (toolbar) should be hidden/shown in landscape mode manually by pressing back triangle

soundsnow commented 1 year ago

some ways to play racing games

an accelerate button in toggle mode gyroscope supports steer left/right or steer left+accelerate/right+accelerate touch half sides of screen to steer hold from left/right to right/left to draw a steering line

soundsnow commented 1 year ago

Allow the user to set boundaries for mouse movement, if you are using a gyroscope, accelerometer or Xbox controller Does Flash support Xbox controllers? I don't think Microsoft will pass up this opportunity to promote the Xbox controller, I think Adobe may have added support for it In addition to racing games, I think there is another type of game that is suitable for gyroscopes and accelerometers. Such as Arkanoid/Breakout and Pong (1 Player mode) These games are generally controlled by Paddle instead of DPad, because DPad responds slowly at a constant speed, while Paddle and Analog Stick seem to be at a linear speed. I think gyroscope, accelerometer should also be linear velocity. If you want to play two-player Pong with an Xbox controller, I recommend using two Analog sticks, but most games don't support linear speed, so you can use a DPad too. I remember that the button of the first generation Xbox controller is also linear speed, and its two triggers, like the GameCube, show different effects according to the force pressed

graphics tablet (also known as a digitizer, digital graphic tablet, pen tablet, drawing tablet, external drawing pad or digital art board) should also support linear speed I mean pen pressure levels 8192, 4096, 2048, 1024, 512 I owned a wacom pen tablet and stylus, it was destroyed by someone The level of pressure sensitivity makes it easy to draw thick or thin lines That is to say, the drawing tablet can also be used to play Flash games, and it also supports pen gestures

Of course, if there is a Flash drawing application, I can also draw directly with the drawing tablet (Wacom) and stylus. Or use a stylus (S-Pen) and phone touchscreen. But I think there should not be many such applications, because most people will only choose Flash or Animate at the beginning It sounds weird to use Flash/Animate as a painting software. Some Flash games require you to draw really well, in which case a graphics tablet and stylus are best. You can enable or disable the pressure level

soundsnow commented 1 year ago

It seems your virtual keyboard doesn't support 3 lock key lights like this https://user-images.githubusercontent.com/109885044/252122553-494ec1ac-2c92-4183-9e2a-f90c2769f35a.png

soundsnow commented 1 year ago

Can your add support for these controllers? They might support Accelerometer, Gyroscope, IR, Bluetooth, NFC, USB/OTG, Microphone Wii Remote Plus (or only) + Nunchuk, Joy-Con, Switch Pro Controller, DualShock 4, DualSense

Can you allow screen sharing for Android to PC ruffle, PC to Android ruffle, Android to Android (another device) ruffle?

We need both Android and PC support Camera, Accelerometer, Gyroscope, IR, NFC, Microphone

Microphone: like this game I don't know anymore about Flash microphone YASUHATI (休むな!8分音符ちゃん♪)

IR: I don't know to use it.

NFC: does Flash support NFC? Don't worry! I have my ideas of its usage Nintendo amiibo Another one is Hasbro Telepods for Angry Birds Go/Stella/Star Wars 2 Angry Birds Star Wars 2 - Introducing Telepods I wanted to create a flash game support NFC. It's a card game like Yu-Gi-Oh! cards and Pokémon cards. Import character/item data into my cards. My turn NFC transfer data. Next is/are opponents' turn(s). It's a 2 player or more than 2 player game. You can play this game on device or more devices or screen sharing (PC monitor). If host player open swf, guest players connect with host player, blackscreen or screen sharing to play it for many devices. Or you can enter/copy-paste/clipboard input these NFC card codes, or make them be virtual buttons. NFC code (one game) manager: add, remove, rename, sort

I think some of my ideas are very useful, can you add them for Ruffle PC (Although I don't have a PC) or tell these to Ruffle main developers?

soundsnow commented 1 year ago

I don't recommend to enable screen rotation while you're playing a game requires a mouse and touchscreen. because it's rotated by frontend, that virtual device doesn't get rotation. Frontend is twisting your neck 90°, 180° for you.

Some flash games support device orientation like Symbian and other system mobile devices

Sniper vs Sniper It's not made for E5 (320x240) obviously because of its aspect ratio and non-touchscreen. A touchscreen S60v5 device 5800 (640x360) fully support. make it be 360x640

These 3 are completely different. Android Orientation is your real Android device. Screen Rotation is your fake neck/head. Virtual System Orientation is original device can play that game, you don't have that device because Android is your real device.

Android Orientation: Default, Auto, Portrait, Landscape

Virtual System (Symbian and others) Orientation: Default, Auto, Portrait, Landscape

Screen Rotation: 0, CW90°, CCW90°, 180°

Screenshot_Sniper vs Sniper 2_20230711-030404 Screenshot_Sniper vs Sniper 2_20230711-030453

soundsnow commented 1 year ago

data modifier, RAM value editor, trainer, cheater I don't know what's that in English https://gameguardian.net “GameGuardian” is a game cheat / hack / alteration tool. With it, you can modify money, HP, SP, and much more. You can enjoy the fun part of a game without suffering from its unseasonable design.

It's a powerful tool. But!!! Root permission required. You'll get useless non-game values of emulator frontend.

Can you add a cheat tool for ruffle?

Other features swf file/folder decompiler, TASing framework (Speedrun Tool: Halfway/AllTheWay Enable), libraries for working with gamedata

folders for different files Putting all files in one folder increases scan time, so we need not only one folder

Will Ruffle developers add support for save/load states? I don't like too many duplicates like State1, State2, State3. Too bad. State: 0,1,2,3,4,5,6,7,8,9 Save/Load (Toolbar buttons) You can choose a State slot from 0 to 9 All State slots can be saved at anytime by tapping Save button saved State slots will be white fonts, unsaved State slots will be black (nothing, default like its background color) fonts You can only load saved states, unsaved states won't be loaded by tapping Load button. if you choose a unsaved state, Load button will be hidden until you save a state for that slot

soundsnow commented 1 year ago

I almost forgot Ergonomic Keyboard add Split Keyboard button groups 12345 67890 F1F2F3F4F5F6 F7F8F9F10F11F12 QWERTASDFZXC YUIOPHJKLBNM You can move G or V to left side or right side manually

I don't know if these are true! In the last century, you could buy a separate Numpad to connect to a Commodore computer I don't know if it was possible to buy individual arrows in the last century, I only know that Commodore sold Plus/4 Computer

soundsnow commented 1 year ago

some other button groups PrtScn, ScrLk, Pause Insert, Delete, Home, End, PgUp, PgDn F1F2F3F4 F5F6F7F8 F9F10F11F12 PrtScn, ScrLk, Pause, Insert, Delete, Home, End, PgUp, PgDn

Arrows and Numpad are full of their own button groups

soundsnow commented 1 year ago

a few button groups

Tab, Caps Lock, Shift (L), Ctrl (L) Backspace, Enter, Shift (R), Ctrl (R) Alt (L), Space, Alt (R)

You can customize the length of space bar resize Alt keys and space bar

soundsnow commented 1 year ago

You better simplify the names of all buttons to fit small screen devices These are my own naming Esc, Tab, CapLk(Is CapsLk?), LShift, LCtrl, LAlt, BS, Ent, RShift, RCtrl, RAlt, PrtScn, Pause, Ins, Del, Home, End, PgUp, PgDn, NumLk After you turn on/off Shift/Lock keys (Non-Shift+Caps Lock key), key texts will be changed, Lock keys lights on/off, I mean 3 keys' color will be from transparent to green One more thing, your arrow texts are wrong, they're not shift enabled/disabled keys Allow users to use Which one Shift+Caps Lock 2 in 1 key or individual Shift keys and Caps Lock key

soundsnow commented 1 year ago

built-in keyboard In Landscape mode, the compact layout cannot be adjusted, and the left and right sides cannot exceed the status bar (camera Notch and rounded rectangle) and 3-button navigation bar (away from the rounded rectangle and USB interface) The image I uploaded shows that the left and right sides are empty, with the camera on the left and the navigation bar on the right. They are not displayed (to prevent accidental touch), I just let you know that they exist In Portrait mode, the bottom of the keyboard is arrows and keyboard settings (directly to menu-settings-keyboard), which cannot occupy the position that should belong to the navigation bar. Left and right arrows and up and down arrows are separated by default They are too small, my four fingers are bigger than the four S-Pen, and it is too difficult to press the four small arrows with my right hand. The left and right arrows are used more frequently than the up and down arrows, so by default, the left and right arrows are on the right, and the up and down arrows are on the left Of course, you can also replace and change the position of the four arrows in Portrait mode in the keyboard settings As for your original two toolbar buttons under the keyboard, I suggest moving them to the left or right of the top toolbar (Ruffle bar) and removing the Ruffle text because the top is almost empty (only a back button) but you added them at the bottom The toolbar, which violates ergonomics, not only raises the position of the keyboard slightly, but also allows the hardware to compute an extra toolbar. In Landscape mode, the occlusion of the screen is more serious. In Portrait, the occlusion of the vertical screen is also increased.

soundsnow commented 1 year ago

Portrait keyboard bottom line up down settings left right (default) up down settings right left up left settings down right up left settings right down up right settings down left up right settings left down down up settings left right down up settings right left down left settings up right down left settings right up down right settings up left down right settings left up left up settings down right left up settings right down left down settings up right left down settings right up left right settings up down left right settings down up right up settings left down right up settings down left right left settings up down right left settings down up right down settings up left right down settings left up

soundsnow commented 1 year ago

not only zoom in/out manually The display of many pictures on the screen will be abnormal. Generally, the background layer needs the most pixels Please don't let the keyboard cover the canvas, the background of the keyboard should be transparent (except the Lock light keys) The keyboard is off by default, you can turn it on in the settings, or put the keyboard display button on the toolbar When the keyboard is opened, the canvas is aligned to the top and it can be covered by the keyboard at the bottom. I suggest that you'd better not make the keyboard particularly high. When the canvas is particularly high and important operations are at the bottom of the canvas, you can use the zoom tools to re-align it with the top after the zoom in is complete. I recommend introducing a new tool, the magnifier. Windows 11 should have this tool. The screen of the mobile phone is a bit small. Even if the resolution is high, some things are still unclear. After opening a tool, you can let the pause automatically open or manually enable pause After closing a tool, you can let the play automatically open or manually enable the play

Quick adjust screen size tool Open the swf file with this app, and many pictures are beyond the boundaries of the screen. For and without adding a Fit Screen tool Fit: canvas, Background Layer You can choose one of the background layer and the canvas, the default is the background layer

I don't know if Flash has canvas size, if not you can customize the canvas size

Here is an example, turn on the fit background layer I know Flash is vector? Scale: Vector (High resolution same as device), Software (Low custom resolution)

If this is a vertical shooter game Background Layer Size: 96x257 Device Resolution: 1920x1440, 1440x1920 257/96=2.67 1440/2.67=539.32, 1920/2.67=719.10 Landscape Screen Size: 719.10x1920 Portrait Screen Size: 539.32x1440

soundsnow commented 1 year ago

we need flash file info viewer for one or multiple files video: codec, resolution, framerate audio: codec, channels, sample rate demux bitrate, input bitrate

flash video/music flv and other f?? files you may need GUI and codecs of foobar2000, vlc, ffmpeg for different file formats

flash saved aspect ratio so we can customize the resolution of flash content (s), you can set width and height both values lower than your screen resolution you can keep its customized resolution without enable low resolution scale (non-vector) or high resolution vector. I mean keep small screen size and disable all scale tools if you like that. set its scaling mode first, vector (real high/low resolution), non vector (fake high/low resolution)

vector is on by default because it's original flash non-vector may make it smoothly if too many files make vector mode laggy

if you're playing a 1:1 aspect ratio flash game, don't calculate too many values

how to customize resolution? this is a 16:7 flash game you can input width or height input width 472 tap height, it will be calculated automatically, it's 207 you don't need to input two values, only one value input one value tap another, it will be calculated by your device

soundsnow commented 1 year ago

I recommend placing the screen on top by default. Because we generally place tools and virtual gamepad at the bottom of the screen (non-status bar and navigation bar position) or on the left and right sides. bottom: keyboard, gamepad, tool buttons That's why flash screen should at the top of screen and your fingers will cover the screen if you're playing a game requires keyboard only

soundsnow commented 1 year ago

You can add tools to toolbar and non-toolbar area you don't like toolbar because of small screen to play a flash game in landscape mode? no problem, you can hide toolbar, add tools on screen and resize and button groups

soundsnow commented 1 year ago

two choices

This is default file paths I recommend: Android/data/rs.ruffle/

You can also save files to these folders Documents/Ruffle Download/Ruffle Movies/Ruffle Music/Ruffle Pictures/Ruffle Ruffle folders are only created after you save those types of files I saved a picture file, no music files, so Music/Ruffle won't be created

You can expert files without playing them, like decompiler just select what files you need, then expert

If you're playing/watching a flash game/animation, you can record music/video clips, take screenshots, or copy a text to a txt file

you can use decompiler to expert mp3, wav, mid, png, jpg, as and more types of files

I don't recommend export or record all files to non Android/data folders. Because those are Android built-in folders all I think might be useful

You can download and play, the downloaded files can be kept or not. If you just want to play it without saving it, Download/Ruffle folder won't be created

soundsnow commented 1 year ago

You can also take a cropped screenshot/video if you don't like full size

soundsnow commented 1 year ago

Open a SWF music game, go back to the Android home launcher, the music is still playing, go back to Ruffle again, it's black screen, but the music can still be heard. It's better to have it pause and mute the sound after switching from Ruffle to another app or Android home launcher. Returning to Ruffle from the Android home launcher is better to stop showing a black screen. Can you fix the bug where you can't open the second SWF file? FLV and FLA also seem to be formats supported by Flash

soundsnow commented 1 year ago

Shift keys shorter name LSft, RSft

soundsnow commented 1 year ago

2 or more same/duplicate keys are allowed to add on screen you can jump with your left hand or right hand