Here's a bundle for Swipe Controls - JR 01

Grazer made a simple swipe bundle in his streams, so I looked into it and made a few changes that I think would help everyone that’s looking into swipe controls for the Flowjam.

This bundle outputs the direction of your swipe, output is based on Up Click.
Limit is what indicates what’s a swipe and what’s a tap. By default, the limit is 10 pixels to count as a swipe. If you don’t swipe more than 10 pixels (or whatever you set it to), then it will output from “Tap”.


image

Code:

{"data":{"behavior":{"v":"2","nodes":[{"inputCount":1,"outputCount":5,"name":"Swipe V2","behaviorType":"logic.NodeGroup","x":1800,"y":416,"group":"","id":"c53fdbe668fc7f40","notes":"Output is based on Up Click\n \nThis bundle outputs the direction of your swipe. \n \nLimit is what indicates what's a swipe and what's a tap. By default, the limit is 50 pixels from starting click.","n_o":0,"isMenuItem":false},{"inputCount":0,"outputCount":2,"name":"MouseMove","behaviorType":"logic.triggers.MouseMove","x":-540,"y":-224,"group":"c53fdbe668fc7f40","id":"c53fdbe9c8d38d46","notes":null,"n_o":null,"gameCoords":false},{"inputCount":0,"outputCount":4,"name":"MouseClick","behaviorType":"logic.triggers.MouseClick","x":-540,"y":0,"group":"c53fdbe668fc7f40","id":"c53fdbe9f1716641","notes":null,"n_o":null,"global":true,"rightClick":false},{"inputCount":3,"outputCount":1,"name":"Number","behaviorType":"logic.logic.Value","x":-180,"y":96,"group":"c53fdbe668fc7f40","id":"c53fdbe9a82b9744","notes":null,"n_o":null,"startVal":0,"tag":"End Tap","roundMode":1},{"inputCount":3,"outputCount":1,"name":"Number","behaviorType":"logic.logic.Value","x":-180,"y":0,"group":"c53fdbe668fc7f40","id":"c53fdbe99cdf1d4e","notes":null,"n_o":null,"startVal":0,"tag":"Start Tap","roundMode":1},{"inputCount":3,"outputCount":1,"name":"Number","behaviorType":"logic.logic.Value","x":-180,"y":-128,"group":"c53fdbe668fc7f40","id":"c53fdbe984a37642","notes":null,"n_o":null,"startVal":0,"tag":"End Tap","roundMode":1},{"inputCount":3,"outputCount":1,"name":"Number","behaviorType":"logic.logic.Value","x":-180,"y":-224,"group":"c53fdbe668fc7f40","id":"c53fdbea82882344","notes":null,"n_o":null,"startVal":0,"tag":"Start Tap","roundMode":1},{"expression":"B-A","default0":0,"default1":0,"default2":0,"default3":0,"default4":0,"default5":0,"params":2,"version":2,"tag":"Distance","inputCount":3,"outputCount":1,"name":"Expression","behaviorType":"logic.logic.Expression","x":0,"y":32,"group":"c53fdbe668fc7f40","id":"c53fdbec03c9454e","notes":null,"n_o":null},{"expression":"B-A","default0":0,"default1":0,"default2":0,"default3":0,"default4":0,"default5":0,"params":2,"version":2,"tag":"Distance","inputCount":3,"outputCount":1,"name":"Expression","behaviorType":"logic.logic.Expression","x":0,"y":-160,"group":"c53fdbe668fc7f40","id":"c53fdbecf2d05440","notes":null,"n_o":null},{"inputCount":3,"outputCount":1,"name":"Number","behaviorType":"logic.logic.Value","x":540,"y":-160,"group":"c53fdbe668fc7f40","id":"c53fdbecc2281141","notes":null,"n_o":null,"startVal":0,"tag":"X","roundMode":1},{"inputCount":3,"outputCount":1,"name":"Number","behaviorType":"logic.logic.Value","x":540,"y":32,"group":"c53fdbe668fc7f40","id":"c53fdbec75c4c443","notes":null,"n_o":null,"startVal":0,"tag":"Y","roundMode":1},{"inputCount":0,"outputCount":1,"name":"Bundle Input","behaviorType":"logic.NodeGroupInput","x":0,"y":-128,"group":"c53fdbeed0ce6e45","id":"c53fdbec4f487b4e","notes":null,"n_o":null,"portId":"c53fdbeed0ce6e45i0","tag":"A","dataType":2},{"inputCount":0,"outputCount":1,"name":"Bundle Input","behaviorType":"logic.NodeGroupInput","x":0,"y":0,"group":"c53fdbeed0ce6e45","id":"c53fdbeca15bd24b","notes":null,"n_o":null,"portId":"c53fdbeed0ce6e45i1","tag":"B","dataType":2},{"inputCount":1,"outputCount":0,"name":"Bundle Output","behaviorType":"logic.NodeGroupOutput","x":900,"y":-64,"group":"c53fdbeed0ce6e45","id":"c53fdbec6f420148","notes":null,"n_o":null,"portId":"c53fdbeed0ce6e45o0","tag":"Swipe","dataType":2},{"gateVal":10,"mode":"greater than","inputCount":2,"outputCount":2,"name":"Filter","behaviorType":"logic.logic.Filter","x":360,"y":-128,"group":"c53fdbeed0ce6e45","id":"c53fdbedb4d21841","notes":null,"n_o":null},{"gateVal":10,"mode":"greater than","inputCount":2,"outputCount":2,"name":"Filter","behaviorType":"logic.logic.Filter","x":360,"y":0,"group":"c53fdbeed0ce6e45","id":"c53fdbed34e50d40","notes":null,"n_o":null},{"inputCount":2,"outputCount":1,"name":"Logic Gate","behaviorType":"logic.logic.Gate","x":540,"y":-64,"group":"c53fdbeed0ce6e45","id":"c53fdbed1eeb3c41","notes":null,"n_o":null,"gateType":"OR"},{"expression":"Math.abs(A)","default0":0,"default1":0,"default2":0,"default3":0,"default4":0,"default5":0,"params":1,"version":2,"tag":"","inputCount":2,"outputCount":1,"name":"Expression","behaviorType":"logic.logic.Expression","x":180,"y":-128,"group":"c53fdbeed0ce6e45","id":"c53fdbeddbbb0f48","notes":null,"n_o":null},{"expression":"Math.abs(A)","default0":0,"default1":0,"default2":0,"default3":0,"default4":0,"default5":0,"params":1,"version":2,"tag":"","inputCount":2,"outputCount":1,"name":"Expression","behaviorType":"logic.logic.Expression","x":180,"y":0,"group":"c53fdbeed0ce6e45","id":"c53fdbed4d1cdc4a","notes":null,"n_o":null},{"inputCount":0,"outputCount":1,"name":"Bundle Input","behaviorType":"logic.NodeGroupInput","x":180,"y":-224,"group":"c53fdbeed0ce6e45","id":"c53fdbed11d8c947","notes":null,"n_o":null,"portId":"c53fdbeed0ce6e45i2","tag":"Limit","dataType":2},{"delay":0,"count":1,"version":2,"inputCount":3,"outputCount":1,"name":"Timer","behaviorType":"logic.triggers.Timer","x":720,"y":-64,"group":"c53fdbeed0ce6e45","id":"c53fdbed0a0c8348","notes":null,"n_o":null},{"inputCount":3,"outputCount":1,"name":"Swipe Check","behaviorType":"logic.NodeGroup","x":180,"y":-64,"group":"c53fdbe668fc7f40","id":"c53fdbeed0ce6e45","notes":null,"n_o":null,"isMenuItem":false},{"inputCount":0,"outputCount":1,"name":"Bundle Input","behaviorType":"logic.NodeGroupInput","x":-450,"y":-64,"group":"c53fdbf1a00ecb43","id":"c53fdbf08afcc34c","notes":null,"n_o":null,"portId":"c53fdbf1a00ecb43i0","tag":"x","dataType":2},{"inputCount":0,"outputCount":1,"name":"Bundle Input","behaviorType":"logic.NodeGroupInput","x":-450,"y":32,"group":"c53fdbf1a00ecb43","id":"c53fdbf01f89ed4d","notes":null,"n_o":null,"portId":"c53fdbf1a00ecb43i1","tag":"y","dataType":2},{"inputCount":1,"outputCount":0,"name":"Bundle Output","behaviorType":"logic.NodeGroupOutput","x":360,"y":-96,"group":"c53fdbf1a00ecb43","id":"c53fdbf0d892014c","notes":null,"n_o":null,"portId":"c53fdbf1a00ecb43o0","tag":"h","dataType":2},{"inputCount":1,"outputCount":0,"name":"Bundle Output","behaviorType":"logic.NodeGroupOutput","x":360,"y":0,"group":"c53fdbf1a00ecb43","id":"c53fdbf049e5974d","notes":null,"n_o":null,"portId":"c53fdbf1a00ecb43o1","tag":"v","dataType":2},{"expression":"Math.abs(A)  > Math.abs(B) ? 1 : 0","default0":0,"default1":0,"default2":0,"default3":0,"default4":0,"default5":0,"params":2,"version":2,"tag":"","inputCount":3,"outputCount":1,"name":"Expression","behaviorType":"logic.logic.Expression","x":-180,"y":96,"group":"c53fdbf1a00ecb43","id":"c53fdbf0eaaf3444","notes":null,"n_o":null},{"gateVal":0,"mode":"greater than","inputCount":2,"outputCount":2,"name":"Filter","behaviorType":"logic.logic.Filter","x":0,"y":96,"group":"c53fdbf1a00ecb43","id":"c53fdbf1e1fe7947","notes":null,"n_o":null},{"inputCount":3,"outputCount":1,"name":"Number","behaviorType":"logic.logic.Value","x":180,"y":0,"group":"c53fdbf1a00ecb43","id":"c53fdbf185b53b46","notes":null,"n_o":null,"startVal":0,"tag":null,"roundMode":1},{"inputCount":3,"outputCount":1,"name":"Number","behaviorType":"logic.logic.Value","x":180,"y":-96,"group":"c53fdbf1a00ecb43","id":"c53fdbf1db394047","notes":null,"n_o":null,"startVal":0,"tag":"","roundMode":1},{"inputCount":2,"outputCount":2,"name":"Direction","behaviorType":"logic.NodeGroup","x":720,"y":-64,"group":"c53fdbe668fc7f40","id":"c53fdbf1a00ecb43","notes":null,"n_o":null,"isMenuItem":false},{"gateVal":0,"mode":"greater than","inputCount":2,"outputCount":2,"name":"Filter","behaviorType":"logic.logic.Filter","x":900,"y":64,"group":"c53fdbe668fc7f40","id":"c53fdbf31231e943","notes":null,"n_o":null},{"gateVal":0,"mode":"less than","inputCount":2,"outputCount":2,"name":"Filter","behaviorType":"logic.logic.Filter","x":900,"y":-32,"group":"c53fdbe668fc7f40","id":"c53fdbf318149e47","notes":null,"n_o":null},{"gateVal":0,"mode":"greater than","inputCount":2,"outputCount":2,"name":"Filter","behaviorType":"logic.logic.Filter","x":900,"y":-128,"group":"c53fdbe668fc7f40","id":"c53fdbf32f4af34e","notes":null,"n_o":null},{"gateVal":0,"mode":"less than","inputCount":2,"outputCount":2,"name":"Filter","behaviorType":"logic.logic.Filter","x":900,"y":-224,"group":"c53fdbe668fc7f40","id":"c53fdbf3e3b97d49","notes":null,"n_o":null},{"inputCount":1,"outputCount":0,"name":"Bundle Output","behaviorType":"logic.NodeGroupOutput","x":1080,"y":-224,"group":"c53fdbe668fc7f40","id":"c53fdbf34a8d1d47","notes":null,"n_o":null,"portId":"c53fdbe668fc7f40o0","tag":"Left","dataType":2},{"inputCount":1,"outputCount":0,"name":"Bundle Output","behaviorType":"logic.NodeGroupOutput","x":1080,"y":-128,"group":"c53fdbe668fc7f40","id":"c53fdbf3461d5146","notes":null,"n_o":null,"portId":"c53fdbe668fc7f40o1","tag":"Right","dataType":2},{"inputCount":1,"outputCount":0,"name":"Bundle Output","behaviorType":"logic.NodeGroupOutput","x":1080,"y":-32,"group":"c53fdbe668fc7f40","id":"c53fdbf3849d8044","notes":null,"n_o":null,"portId":"c53fdbe668fc7f40o2","tag":"Up","dataType":2},{"inputCount":1,"outputCount":0,"name":"Bundle Output","behaviorType":"logic.NodeGroupOutput","x":1080,"y":64,"group":"c53fdbe668fc7f40","id":"c53fdbf3e4e93445","notes":null,"n_o":null,"portId":"c53fdbe668fc7f40o3","tag":"Down","dataType":2},{"inputCount":0,"outputCount":1,"name":"Bundle Input","behaviorType":"logic.NodeGroupInput","x":0,"y":-32,"group":"c53fdbe668fc7f40","id":"c53fdbf3f5d0c94a","notes":null,"n_o":null,"portId":"c53fdbe668fc7f40i0","tag":"Limit","dataType":2},{"inputCount":3,"outputCount":1,"name":"Switch","behaviorType":"logic.logic.Switch","x":-360,"y":-128,"group":"c53fdbe668fc7f40","id":"226f093095981849","notes":null,"n_o":null,"_startVal":0,"dataType":2},{"inputCount":3,"outputCount":1,"name":"Switch","behaviorType":"logic.logic.Switch","x":-360,"y":96,"group":"c53fdbe668fc7f40","id":"226f09d33728da4a","notes":null,"n_o":null,"_startVal":0,"dataType":2},{"inputCount":3,"outputCount":1,"name":"Switch","behaviorType":"logic.logic.Switch","x":360,"y":-64,"group":"c53fdbe668fc7f40","id":"226f0a8bb22e644d","notes":null,"n_o":null,"_startVal":0,"dataType":2},{"inputCount":0,"outputCount":1,"name":"Always","behaviorType":"logic.triggers.Always","x":-540,"y":-128,"group":"c53fdbe668fc7f40","id":"2270517f7584614a","notes":null,"n_o":null},{"inputCount":3,"outputCount":1,"name":"Switch","behaviorType":"logic.logic.Switch","x":360,"y":128,"group":"c53fdbe668fc7f40","id":"22724e49a227a447","notes":null,"n_o":null,"_startVal":0,"dataType":2},{"inputCount":1,"outputCount":0,"name":"Bundle Output","behaviorType":"logic.NodeGroupOutput","x":540,"y":128,"group":"c53fdbe668fc7f40","id":"2273180b2ba39f40","notes":null,"n_o":null,"portId":"c53fdbe668fc7f40o4","tag":"Tap","dataType":2}],"links":[{"input_id":"c53fdbea82882344i0","output_id":"c53fdbe9c8d38d46o0"},{"input_id":"c53fdbe984a37642i0","output_id":"c53fdbe9c8d38d46o0"},{"input_id":"c53fdbe99cdf1d4ei0","output_id":"c53fdbe9c8d38d46o1"},{"input_id":"c53fdbe9a82b9744i0","output_id":"c53fdbe9c8d38d46o1"},{"input_id":"c53fdbea82882344i1","output_id":"c53fdbe9f1716641o0"},{"input_id":"226f093095981849i1","output_id":"c53fdbe9f1716641o0"},{"input_id":"226f0a8bb22e644di1","output_id":"c53fdbe9f1716641o0"},{"input_id":"c53fdbe99cdf1d4ei1","output_id":"c53fdbe9f1716641o0"},{"input_id":"226f09d33728da4ai1","output_id":"c53fdbe9f1716641o0"},{"input_id":"22724e49a227a447i1","output_id":"c53fdbe9f1716641o0"},{"input_id":"226f093095981849i0","output_id":"c53fdbe9f1716641o1"},{"input_id":"c53fdbe984a37642i1","output_id":"c53fdbe9f1716641o1"},{"input_id":"226f09d33728da4ai0","output_id":"c53fdbe9f1716641o1"},{"input_id":"c53fdbe9a82b9744i1","output_id":"c53fdbe9f1716641o1"},{"input_id":"22724e49a227a447i2","output_id":"c53fdbe9f1716641o1"},{"input_id":"c53fdbec03c9454ei1","output_id":"c53fdbe9a82b9744o0"},{"input_id":"c53fdbec03c9454ei2","output_id":"c53fdbe9a82b9744o0"},{"input_id":"c53fdbec03c9454ei0","output_id":"c53fdbe99cdf1d4eo0"},{"input_id":"c53fdbecf2d05440i1","output_id":"c53fdbe984a37642o0"},{"input_id":"c53fdbecf2d05440i2","output_id":"c53fdbe984a37642o0"},{"input_id":"c53fdbecf2d05440i0","output_id":"c53fdbea82882344o0"},{"input_id":"c53fdbeed0ce6e45i1","output_id":"c53fdbec03c9454eo0"},{"input_id":"c53fdbec75c4c443i0","output_id":"c53fdbec03c9454eo0"},{"input_id":"c53fdbecc2281141i0","output_id":"c53fdbecf2d05440o0"},{"input_id":"c53fdbeed0ce6e45i0","output_id":"c53fdbecf2d05440o0"},{"input_id":"c53fdbf1a00ecb43i0","output_id":"c53fdbecc2281141o0"},{"input_id":"c53fdbf1a00ecb43i1","output_id":"c53fdbec75c4c443o0"},{"input_id":"c53fdbeddbbb0f48i0","output_id":"c53fdbec4f487b4eo0"},{"input_id":"c53fdbeddbbb0f48i1","output_id":"c53fdbec4f487b4eo0"},{"input_id":"c53fdbed4d1cdc4ai0","output_id":"c53fdbeca15bd24bo0"},{"input_id":"c53fdbed4d1cdc4ai1","output_id":"c53fdbeca15bd24bo0"},{"input_id":"c53fdbed1eeb3c41i0","output_id":"c53fdbedb4d21841o0"},{"input_id":"c53fdbed1eeb3c41i1","output_id":"c53fdbed34e50d40o0"},{"input_id":"c53fdbed0a0c8348i0","output_id":"c53fdbed1eeb3c41o0"},{"input_id":"c53fdbedb4d21841i0","output_id":"c53fdbeddbbb0f48o0"},{"input_id":"c53fdbed34e50d40i0","output_id":"c53fdbed4d1cdc4ao0"},{"input_id":"c53fdbedb4d21841i1","output_id":"c53fdbed11d8c947o0"},{"input_id":"c53fdbed34e50d40i1","output_id":"c53fdbed11d8c947o0"},{"input_id":"c53fdbec6f420148i0","output_id":"c53fdbed0a0c8348o0"},{"input_id":"226f0a8bb22e644di2","output_id":"c53fdbeed0ce6e45o0"},{"input_id":"c53fdbf1db394047i0","output_id":"c53fdbf08afcc34co0"},{"input_id":"c53fdbf0eaaf3444i0","output_id":"c53fdbf08afcc34co0"},{"input_id":"c53fdbf185b53b46i0","output_id":"c53fdbf01f89ed4do0"},{"input_id":"c53fdbf0eaaf3444i1","output_id":"c53fdbf01f89ed4do0"},{"input_id":"c53fdbf0eaaf3444i2","output_id":"c53fdbf01f89ed4do0"},{"input_id":"c53fdbf1e1fe7947i0","output_id":"c53fdbf0eaaf3444o0"},{"input_id":"c53fdbf1db394047i1","output_id":"c53fdbf1e1fe7947o0"},{"input_id":"c53fdbf185b53b46i1","output_id":"c53fdbf1e1fe7947o1"},{"input_id":"c53fdbf049e5974di0","output_id":"c53fdbf185b53b46o0"},{"input_id":"c53fdbf0d892014ci0","output_id":"c53fdbf1db394047o0"},{"input_id":"c53fdbf3e3b97d49i0","output_id":"c53fdbf1a00ecb43o0"},{"input_id":"c53fdbf32f4af34ei0","output_id":"c53fdbf1a00ecb43o0"},{"input_id":"c53fdbf318149e47i0","output_id":"c53fdbf1a00ecb43o1"},{"input_id":"c53fdbf31231e943i0","output_id":"c53fdbf1a00ecb43o1"},{"input_id":"c53fdbf3e4e93445i0","output_id":"c53fdbf31231e943o0"},{"input_id":"c53fdbf3849d8044i0","output_id":"c53fdbf318149e47o0"},{"input_id":"c53fdbf3461d5146i0","output_id":"c53fdbf32f4af34eo0"},{"input_id":"c53fdbf34a8d1d47i0","output_id":"c53fdbf3e3b97d49o0"},{"input_id":"c53fdbeed0ce6e45i2","output_id":"c53fdbf3f5d0c94ao0"},{"input_id":"c53fdbe984a37642i1","output_id":"226f093095981849o0"},{"input_id":"c53fdbe9a82b9744i1","output_id":"226f09d33728da4ao0"},{"input_id":"c53fdbecc2281141i1","output_id":"226f0a8bb22e644do0"},{"input_id":"226f0a8bb22e644di0","output_id":"226f0a8bb22e644do0"},{"input_id":"c53fdbec75c4c443i1","output_id":"226f0a8bb22e644do0"},{"input_id":"22724e49a227a447i0","output_id":"226f0a8bb22e644do0"},{"input_id":"226f093095981849i2","output_id":"2270517f7584614ao0"},{"input_id":"226f09d33728da4ai2","output_id":"2270517f7584614ao0"},{"input_id":"226f0a8bb22e644di0","output_id":"22724e49a227a447o0"},{"input_id":"22724e49a227a447i0","output_id":"22724e49a227a447o0"},{"input_id":"2273180b2ba39f40i0","output_id":"22724e49a227a447o0"}]}}}

Test Game:
Flowlab Game Creator - Swipe

12 Likes

Tis dope :upside_down_face:

3 Likes

Update:

After some feedback after the Flowjam, I re-edited the system to swipe to activate in the middle of the swipe action. This is much better feel and removes the delay, use this bundle if you want to have swipe controls in your game.

5 Likes

Update:
If anyone was having trouble with the Swipe bundle before, these issues should be fixed by now. The code has also been more optimized with some more expression coding. Also, I’ve been spending the past few days updating this example and added a few more bundles.

I have added a Swipe Angle bundle that will output the angle of the swipe.
And the larger bundle is a Swipe Zone bundle that converts the Angle into sections of a circle.


Swipe Zone Bundle

image

"This bundle converts your swipe angle into a section on a circle. If you divide the circle into 4 sections and swipe in the middle of it, your swipe will end in one of those sections. This bundle is exactly that.

Input the number of Divided sections you want to create in a circle. The section starting at 0 degrees will be zone 1. Every side counted clockwise are additional zones.

Dividing-a-circle-into-4-sections

The Turn input will rotate the circle, but the side closses to 0 degrees is still be Zone 1. Think of rotating an + cross-section by 45 degrees to get an X cross-section. The 4 zones in the X cross-section could detect the 4 directions (Right, Down, Left and Up).

Dividing-a-circle-into-4-sectionsR

Limit is how many pixels until the swipe outputs. Default is 24 Pixels. "

The outputs will either be the number of the zone,
or if it will output from Tap if the swipe isn’t registered past the set Limit.


Inside the bundle

image

"This expression lets you change the order of the zones. The zone count up in a clockwise pattern. D is used to change the zone order.

D = 0:
When D is 0, nothing changes. This is because 0 is being added. This is by default.

D > 0:
When this is true, Zone 1 will be moved around by D amounts clockwise or D+1.

D < 0:
When this is true, the zone order is reversed in a counterclockwise pattern.
When D = -1, zone 1 is the same location, and will be moved by any lower number from -1 or (D-1)+1."

Dividing-a-circle-into-4-sectionsRe

6 Likes

Sheeeesh nice! This should be really useful and pratical. The fact that you can also rotate the shape makes total sense and its pretty useful.

3 Likes