TOUCH Controlled Drag & Shoot in Unity Mobile | 2D Game Dev Tutorial

  Рет қаралды 33,618

Muddy Wolf

Muddy Wolf

Күн бұрын

In this tutorial we learn how to use Unity's Mobile Input system to calculate a Drag and shoot force using a 2D Rigidbody. We learn about Mouse Input and using the Line Renderer to draw a drag line across the screen on a mobile device in unity 2D. 2D Game Dev Tutorial
Thanks for watching!
Twitter: / tyler_potts_
Go check out my main channel: / tylerpotts
I aspire to be an Indie Game Developer making fun and immersive video games. I focus on 2D Unity game development.
#GameDev #IndieGameDev #Unity2D #KeepMuddy

Пікірлер: 114
@MuddyWolf
@MuddyWolf 4 жыл бұрын
Did you enjoy this mobile tutorial? Should I do more?
@learningsomething8904
@learningsomething8904 4 жыл бұрын
If u do i'll definitely give another subscribe smash !
@Vishal-rfx
@Vishal-rfx 3 жыл бұрын
Yessss
@hi2936
@hi2936 3 жыл бұрын
Yes it's very very helpful
@djdee04
@djdee04 3 жыл бұрын
Can you show us how to display a power meter for this. It would be really helpful.
@unityalexdev
@unityalexdev 3 жыл бұрын
I most certainly did !
@crewdon1816
@crewdon1816 3 жыл бұрын
public float power = 10f; public float maxDrag = 5f; public Rigidbody2D rb; public LineRenderer lr; Vector3 dragStartPos; Touch touch; private void Update() { if(Input.touchCount > 0) { touch = Input.GetTouch(0); if (touch.phase == TouchPhase.Began) { DragStart(); } if (touch.phase == TouchPhase.Moved) { Dragging(); } if (touch.phase == TouchPhase.Ended) { DragRealease(); } } } private void DragStart() { dragStartPos = Camera.main.ScreenToWorldPoint(touch.position); dragStartPos.z = 0f; lr.positionCount = 1; lr.SetPosition(0, dragStartPos); } private void Dragging() { Vector3 draggingPos = Camera.main.ScreenToWorldPoint(touch.position); dragStartPos.z = 0f; lr.positionCount = 2; lr.SetPosition(1, draggingPos); } private void DragRealease() { lr.positionCount = 0; Vector3 dragReleasePos = Camera.main.ScreenToWorldPoint(touch.position); dragStartPos.z = 0f; Vector3 force = dragStartPos - dragReleasePos; Vector3 clampedForce = Vector3.ClampMagnitude(force, maxDrag) * power; rb.AddForce(clampedForce, ForceMode2D.Impulse); }
@animationsbelike
@animationsbelike 2 жыл бұрын
Thank you! :D
@muismat5299
@muismat5299 2 жыл бұрын
R u sirieus
@SlopFace
@SlopFace Жыл бұрын
livesaver
@parkitaston
@parkitaston 4 жыл бұрын
Dude! Really good job! This is the only video i found about this. Thank you for reading comments and for being aware of what people needs!
@MuddyWolf
@MuddyWolf 4 жыл бұрын
Always! What's the point of teaching if I teach things people don't want to learn!
@pha3row232
@pha3row232 4 жыл бұрын
i love how you are still uploading videos becauz i saw many youtuber who upload some videos and then dont upload any like myself gg
@ReeceGeofroy
@ReeceGeofroy 4 жыл бұрын
Wonderful video man! Can't wait to see more content 🧐🧐
@MuddyWolf
@MuddyWolf 4 жыл бұрын
Thanks Reece!! :D
@williamrosengren3139
@williamrosengren3139 4 жыл бұрын
Was thinking about this and your video magicly poped up
@MuddyWolf
@MuddyWolf 4 жыл бұрын
I am a wizard
@adityagoyal6964
@adityagoyal6964 4 жыл бұрын
Bro really you deserve more subscribers and views than you're getting, Keep up the good work
@gamenotfound9376
@gamenotfound9376 4 жыл бұрын
I want to do this in 3D, but I cant find anything! Any help?
@feelgxxd
@feelgxxd 3 жыл бұрын
thank you for this tutorial, was in need of this. keep up the good work!
@jaulloa21
@jaulloa21 3 жыл бұрын
How do you set line renderer on circle to have as a trajectory line
@faiz7180
@faiz7180 3 жыл бұрын
Have you found the solution to this?
@nguyendorval
@nguyendorval 3 жыл бұрын
Thanks for the tutorial, very well explained, nice & clear ! subscribed now.
@MuddyWolf
@MuddyWolf 3 жыл бұрын
Awesome, thank you!
@SleyPlayz
@SleyPlayz 3 жыл бұрын
my man defined gravity with this code and i cant find out why
@AdidasDoge
@AdidasDoge 3 жыл бұрын
Please make a tutorial where the more power it is going to be added to the ball, the color of the line would change
@stevenk6922
@stevenk6922 4 жыл бұрын
This video has really helped out. Thanks a lot!
@pablofcbdn
@pablofcbdn 2 жыл бұрын
how is it inverted? I like the style but I want it to be the other way around when dragging the finger from the direction of the ball
@Miguel-qw1sb
@Miguel-qw1sb 4 жыл бұрын
Can you do it for 3d game? It is harder
@Zachariah-Abueg
@Zachariah-Abueg 3 жыл бұрын
also wondering this
@ace4717
@ace4717 7 ай бұрын
is there a way to lock the controls to only one half of the screen?
@allencordeiro5435
@allencordeiro5435 3 жыл бұрын
Excellent tutorial dude...this is the only thing I was trying to find for my new game ... actually wanted touch drag for a bow and arrow ...but this works fine 🔥
@MuddyWolf
@MuddyWolf 3 жыл бұрын
Glad I could help!
@ppatterson4
@ppatterson4 3 жыл бұрын
Nice tutorial Lots of fun!
@rishi9224
@rishi9224 4 жыл бұрын
Awesome video. Keep it up!!!
@MuddyWolf
@MuddyWolf 4 жыл бұрын
Thanks! Will do!
@AdidasDoge
@AdidasDoge 3 жыл бұрын
And also please add a tutorial where it shows where the ball will be going (a trajectory line tutorial)
@abhinawram4014
@abhinawram4014 Жыл бұрын
Is there any way to make line renderer length limit ? line renderer endPos follow mouse position but line length goes infinite want line length limited.
@credormk5770
@credormk5770 3 жыл бұрын
Thanks for the video! Really helpful
@Luke-xt6jr
@Luke-xt6jr 3 жыл бұрын
Thanks you!!!!! A Video that explains it clearly and makes it simple ;D
@a1MinecraftPlayer
@a1MinecraftPlayer 2 жыл бұрын
how i can limit it.
@Taiga1YT
@Taiga1YT 3 жыл бұрын
how do i make it that the line only starts if you drag the ball and not just anywhere on the screen?
@giannisroumeliotis4142
@giannisroumeliotis4142 4 жыл бұрын
sick bro! thank you, however, i am having problems with unity remote 5, i am not asking for a solution, i just want to know if it is necesery to go and test the game from my phone, the drag and shoot is the only function needed for my game from my phone and i trust ur sollution, and i know the ui works for touch anyways soo this is guarenteed right?
@MuddyWolf
@MuddyWolf 4 жыл бұрын
Unity Remote 5 is only one way to test, another way is to build the game straight to a device then you can see if it works for you but you can implement both Touch and Mouse controls to test it on your machine if you can't test on an actual device right now... I hope that helps!
@giannisroumeliotis4142
@giannisroumeliotis4142 4 жыл бұрын
@@MuddyWolf it did help thanks!
@Guardabarranc
@Guardabarranc 2 жыл бұрын
Hello, how could I make an impulse counter or the number of times I execute. I was trying to put a counter +=1; and add too many instead of one at a time and more if you're pressed please help
@learningsomething8904
@learningsomething8904 4 жыл бұрын
Really Helpful Tutorial ! THank U!
@djdee04
@djdee04 3 жыл бұрын
Hey awesome tutorial. I have just 1 doubt, we can control power by clampMagnitude, how do I control the line renderer? Thank you
@MuddyWolf
@MuddyWolf 3 жыл бұрын
If I remember you just need to clamp the last line position to a magnitude of the distance too e.g. (end_pos - start_pos).magnitude and then clamp it
@djdee04
@djdee04 3 жыл бұрын
@@MuddyWolf got it :) thank you.
@markstar6899
@markstar6899 3 жыл бұрын
How do I attach the line to the ball so no matter where a touch,it looks like i started from the ball
@CulturedxIndie
@CulturedxIndie 3 жыл бұрын
Great video! Not sure if it's just me since I haven't used unity or coded in a bit but I can't get directional animations working with this. Has anyone else done this?
@MuddyWolf
@MuddyWolf 3 жыл бұрын
Thank you! I might make a video in the near future on directional animations :)
@ivanbradic
@ivanbradic 4 жыл бұрын
How do i make the line renderer always start in the ball? *like in angry birds*
@zasenaclear6449
@zasenaclear6449 4 жыл бұрын
Is there any way you can tell me how to only be able to drag and shoot my ball when its on the ground and not in the air?
@MuddyWolf
@MuddyWolf 4 жыл бұрын
You can do a check for "IsGrounded" and use something like a raycast or overlap circle to test if it is on the ground.
@SmashBros4339
@SmashBros4339 3 жыл бұрын
@@MuddyWolf Could You please do a video on that :)
@mondrymondrala
@mondrymondrala 2 жыл бұрын
Hello, is there a way to be able to shoot the ball only when it's completely stopped?
@mondrymondrala
@mondrymondrala 2 жыл бұрын
or just what is the code line to make script work only if player is in asleep state?
@sandeshjamakatel8742
@sandeshjamakatel8742 4 жыл бұрын
hello could you please help me it is saying my RigidBody2D namespace could not be found
@animationsbelike
@animationsbelike 2 жыл бұрын
Great Tutorial! :D
@CodeWithKarl
@CodeWithKarl 4 жыл бұрын
how do i stop the object im on top down view i dont have a gravity
@MuddyWolf
@MuddyWolf 4 жыл бұрын
You would need to add in some inertia or drag to your game object, you could do it so if you hit an object you lose momentum but it all depends on what you're trying to achieve...
@CodeWithKarl
@CodeWithKarl 4 жыл бұрын
@@MuddyWolf if(rb.velocity!=Vector2.zero){ rb.velocity -= rb.velocity * Time.deltaTime; } I'm still learning and i added this to the update thank you for the tutorial :)
@omaribrahim348
@omaribrahim348 2 жыл бұрын
Great job ! but I want the darg beginning when I touch the ball only ,not everywhere on the screen, could any one help me in the code
@djdee04
@djdee04 3 жыл бұрын
Can you show us how to display a power meter for this?
@dinojakeyt
@dinojakeyt 4 жыл бұрын
can i have a template download.... I did all the progress for it to fail =(
@ivanbradic
@ivanbradic 4 жыл бұрын
p.s. make sure your script is named 'BallControl' for it to work using System.Collections; using System.Collections.Generic; using UnityEngine; public class BallControl : MonoBehaviour { public float power = 10f; public float maxDrag = 5f; public Rigidbody2D rb; public LineRenderer lr; Vector3 dragStartpos; Touch touch; private void Update() { if (Input.touchCount > 0) { touch = Input.GetTouch(0); if (touch.phase == TouchPhase.Began) { DragStart(); } if (touch.phase == TouchPhase.Moved) { Dragging(); } if (touch.phase == TouchPhase.Ended) { DragRelease(); } } } void DragStart() { dragStartpos = Camera.main.ScreenToWorldPoint(touch.position); dragStartpos.z = 0f; lr.positionCount = 1; lr.SetPosition(0, dragStartpos); } void Dragging() { Vector3 draggingPos = Camera.main.ScreenToWorldPoint(touch.position); draggingPos.z = 0f; lr.positionCount = 2; lr.SetPosition(1, draggingPos); } void DragRelease() { lr.positionCount = 0; Vector3 dragReleasePos = Camera.main.ScreenToWorldPoint(touch.position); dragReleasePos.z = 0f; Vector3 force = dragStartpos - dragReleasePos; Vector3 clampedForce = Vector3.ClampMagnitude(force, maxDrag) * power; rb.AddForce(clampedForce, ForceMode2D.Impulse); } }
@MrPathus22
@MrPathus22 4 жыл бұрын
good video bro! thanks for sharing
@MuddyWolf
@MuddyWolf 4 жыл бұрын
Thanks for the visit
@FC12CGaming
@FC12CGaming 3 жыл бұрын
my man got a google pixel 3. i respect google pixel users
@MuddyWolf
@MuddyWolf 3 жыл бұрын
#TeamPixel
@MuddyWolf
@MuddyWolf 3 жыл бұрын
FYI just upgraded to the 4 xD I'm always behind
@FC12CGaming
@FC12CGaming 3 жыл бұрын
@@MuddyWolf im on the pixel 5
@donutguy
@donutguy 4 жыл бұрын
Can you do a tutorial on how to do this, but make it so that the ball can only be shot once until it comes to a complete stop?
@joshsampson5598
@joshsampson5598 3 жыл бұрын
you could probably make a parent script and have it check if the velocity does not exceed a certain number and if it does make it so you can't do anything but once it is lower than that assigned number it will be able to be shot. P.S. I am new to coding and so this may not be the best way to do it
@Guardabarranc
@Guardabarranc 2 жыл бұрын
great it sounds and it makes a lot of sense I'm new to this anyway and I spent all day trying to deactivate the touch hahaha and you fixed it for me over the weekend I just have to find out how you determined the speed to be able to manipulate the values ​​with an if
@kenshioya9118
@kenshioya9118 4 жыл бұрын
Hey can you send a link to download the script
@YoNatrix
@YoNatrix Жыл бұрын
how do i make this in 3d?
@adamdaywiemann9886
@adamdaywiemann9886 2 жыл бұрын
I need this but for Unreal Engine dose anyone know any good videos that would help?
@brainy3429
@brainy3429 3 жыл бұрын
Thanks a lot!
@MuddyWolf
@MuddyWolf 3 жыл бұрын
You're welcome!
@learningsomething8904
@learningsomething8904 4 жыл бұрын
I Just Smashed That Fuc*ing Subscribe Button !
@ShadeCOD
@ShadeCOD 4 жыл бұрын
Unity is giving me an "ArgumentOutOfRangeException" error and I cant seem to figure it out. May I get some help please?
@allencordeiro5435
@allencordeiro5435 3 жыл бұрын
Wat line ? On the script?
@mkkovacs
@mkkovacs Жыл бұрын
good vid bro thanks
@TheAmbienceLoop
@TheAmbienceLoop 2 жыл бұрын
How do make it so that if my player is in the air or flying, that I can't shoot again, but if the player is grounded you can?
@dcry1003
@dcry1003 2 жыл бұрын
i think you go about it using *bool IsGrounded* if the player is grounded then you enable the drag control to shoot the player and if not then you cant
@skplayzz2476
@skplayzz2476 3 жыл бұрын
Please, plese provide a sample scene of the game or a repository... Please
@crackedplayz7586
@crackedplayz7586 3 жыл бұрын
Can you make how to shoot bullets with touch control
@crackedplayz7586
@crackedplayz7586 3 жыл бұрын
Or with a fire button
@ljoegamedev6830
@ljoegamedev6830 4 жыл бұрын
Plsss can you show mr how to make push to shot in unity 2d like in game "Balls?"
@frenchfried6179
@frenchfried6179 3 жыл бұрын
Pfft HAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAAHAHHAAHHAAHHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHAHHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAAHAHHAAHAHHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHHAHAHAHAHAHHAHAHAHAAHHAHHHAHAHAHAHAHAHAHAHAAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHHAHAAHAHAHHAHAHAHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHHAH HAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAAHAHHAAHHAAHHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHAHHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAAHAHHAAHAHHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHHAHAHAHAHAHHAHAHAHAAHHAHHHAHAHAHAHAHAHAHAHAAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHHAHAAHAHAHHAHAHAHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHHAHHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAAHAHHAAHHAAHHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHAHHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAAHAHHAAHAHHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHHAHAHAHAHAHHAHAHAHAAHHAHHHAHAHAHAHAHAHAHAHAAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHHAHAAHAHAHHAHAHAHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHHAHHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAAHAHHAAHHAAHHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHAHHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAAHAHHAAHAHHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHHAHAHAHAHAHHAHAHAHAAHHAHHHAHAHAHAHAHAHAHAHAAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHHAHAAHAHAHHAHAHAHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHHAHHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAAHAHHAAHHAAHHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHAHHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAAHAHHAAHAHHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHHAHAHAHAHAHHAHAHAHAAHHAHHHAHAHAHAHAHAHAHAHAAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHHAHAAHAHAHHAHAHAHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHHAHHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAAHAHHAAHHAAHHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHAHHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAAHAHHAAHAHHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHHAHAHAHAHAHHAHAHAHAAHHAHHHAHAHAHAHAHAHAHAHAAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHHAHAAHAHAHHAHAHAHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHHAHHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAAHAHHAAHHAAHHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHAHHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAAHAHHAAHAHHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHHAHAHAHAHAHHAHAHAHAAHHAHHHAHAHAHAHAHAHAHAHAAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHHAHAAHAHAHHAHAHAHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHHAHHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAAHAHHAAHHAAHHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHAHHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAAHAHHAAHAHHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHHAHAHAHAHAHHAHAHAHAAHHAHHHAHAHAHAHAHAHAHAHAAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHHAHAAHAHAHHAHAHAHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHHAHHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAAHAHHAAHHAAHHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHAHHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAAHAHHAAHAHHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHHAHAHAHAHAHHAHAHAHAAHHAHHHAHAHAHAHAHAHAHAHAAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHHAHAAHAHAHHAHAHAHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHHAHHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAAHAHHAAHHAAHHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHAHHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAAHAHHAAHAHHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHHAHAHAHAHAHHAHAHAHAAHHAHHHAHAHAHAHAHAHAHAHAAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHHAHAAHAHAHHAHAHAHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHHAHHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAAHAHHAAHHAAHHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHAHHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAAHAHHAAHAHHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHHAHAHAHAHAHHAHAHAHAAHHAHHHAHAHAHAHAHAHAHAHAAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHHAHAAHAHAHHAHAHAHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHHAHHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAAHAHHAAHHAAHHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHAHHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAAHAHHAAHAHHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHHAHAHAHAHAHHAHAHAHAAHHAHHHAHAHAHAHAHAHAHAHAAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHHAHAAHAHAHHAHAHAHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHHAHHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAAHAHHAAHHAAHHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHAHHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAAHAHHAAHAHHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHHAHAHAHAHAHHAHAHAHAAHHAHHHAHAHAHAHAHAHAHAHAAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHHAHAAHAHAHHAHAHAHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHHAHHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAAHAHHAAHHAAHHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHAHHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAAHAHHAAHAHHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHHAHAHAHAHAHHAHAHAHAAHHAHHHAHAHAHAHAHAHAHAHAAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHHAHAAHAHAHHAHAHAHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHHAHHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAAHAHHAAHHAAHHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHAHHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAAHAHHAAHAHHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHHAHAHAHAHAHHAHAHAHAAHHAHHHAHAHAHAHAHAHAHAHAAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHHAHAAHAHAHHAHAHAHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHHAHHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAAHAHHAAHHAAHHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHAHHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAAHAHHAAHAHHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHHAHAHAHAHAHHAHAHAHAAHHAHHHAHAHAHAHAHAHAHAHAAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHHAHAAHAHAHHAHAHAHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHHAHHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAAHAHHAAHHAAHHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHAHHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAAHAHHAAHAHHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHHAHAHAHAHAHHAHAHAHAAHHAHHHAHAHAHAHAHAHAHAHAAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHHAHAAHAHAHHAHAHAHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHHAHHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAAHAHHAAHHAAHHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHAHHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAAHAHHAAHAHHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHHAHAHAHAHAHHAHAHAHAAHHAHHHAHAHAHAHAHAHAHAHAAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHHAHAAHAHAHHAHAHAHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHHAHHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAAHAHHAAHHAAHHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHAHHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAAHAHHAAHAHHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHHAHAHAHAHAHHAHAHAHAAHHAHHHAHAHAHAHAHAHAHAHAAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHHAHAAHAHAHHAHAHAHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHHAHHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAAHAHHAAHHAAHHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHAHHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAAHAHHAAHAHHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHHAHAHAHAHAHHAHAHAHAAHHAHHHAHAHAHAHAHAHAHAHAAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHHAHAAHAHAHHAHAHAHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHHAHHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAAHAHHAAHHAAHHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHAHHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAAHAHHAAHAHHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHAHAHAHHAHAHAHHAHAHAHAHAHAHHAHAHAHAHAHHAHAHAHAAHHAHHHAHAHAHAHAHAHAHAHAAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHHAHAAHAHAHHAHAHAHAAHHAHAHAHAHAHHAHAHAHAHAHAHAHHAH
@Taiga1YT
@Taiga1YT 3 жыл бұрын
​@@frenchfried6179 Are you okay?
@sushantdhiman3999
@sushantdhiman3999 4 жыл бұрын
Vector3 does not contain a definition for ClampedMagnitude
@babasheep2828
@babasheep2828 4 жыл бұрын
Clamp, not Clamped
@NeroCapella
@NeroCapella 4 жыл бұрын
need more videos=)
@MuddyWolf
@MuddyWolf 4 жыл бұрын
More coming;
@abubakerab7019
@abubakerab7019 3 жыл бұрын
work in pc
@chrisp2554
@chrisp2554 8 ай бұрын
For anyone trying to implement this into a 3D mobile game using System.Collections; using System.Collections.Generic; using UnityEngine; public class ProjectileControl : MonoBehaviour { public float power = 10f; public float maxDrag = 5f; public Rigidbody rb; public LineRenderer lr; Vector3 dragStartPos; Vector3 dragReleasePos; private void Update() { if (Input.touchCount > 0) { Touch touch = Input.GetTouch(0); switch (touch.phase) { case TouchPhase.Began: DragStart(touch.position); break; case TouchPhase.Moved: Dragging(touch.position); break; case TouchPhase.Ended: DragRelease(touch.position); break; } } } void DragStart(Vector2 screenPos) { dragStartPos = GetWorldPosWithZ(screenPos, 0f); lr.positionCount = 1; lr.SetPosition(0, dragStartPos); } void Dragging(Vector2 screenPos) { Vector3 draggingPos = GetWorldPosWithZ(screenPos, 0f); lr.positionCount = 2; lr.SetPosition(1, draggingPos); } void DragRelease(Vector2 screenPos) { lr.positionCount = 0; dragReleasePos = GetWorldPosWithZ(screenPos, 0f); Vector3 force = dragStartPos - dragReleasePos; Vector3 clampedForce = Vector3.ClampMagnitude(force, maxDrag) * power; rb.AddForce(clampedForce, ForceMode.Impulse); } Vector3 GetWorldPosWithZ(Vector2 screenPos, float z) { Vector3 worldPos = Camera.main.ScreenToWorldPoint(new Vector3(screenPos.x, screenPos.y, Mathf.Abs(Camera.main.transform.position.z))); worldPos.z = z; return worldPos; } }
@dectly
@dectly 4 жыл бұрын
*for the lazy one's* using System.Collections; using System.Collections.Generic; using UnityEngine; public class BallControl : MonoBehaviour { public float power = 10f; public float maxDrag = 5f; public Rigidbody2D rb; public LineRenderer lr; Vector3 dragStartPos; Touch touch; private void Update() { if (Input.touchCount > 0) { touch = Input.GetTouch(0); if (touch.phase == TouchPhase.Began) { DragStart(); } if (touch.phase == TouchPhase.Moved) { Dragging(); } if (touch.phase == TouchPhase.Ended) { DragRelease(); } } } void DragStart() { dragStartPos = Camera.main.ScreenToWorldPoint(touch.position); dragStartPos.z = 0f; lr.positionCount = 1; lr.SetPosition(0, dragStartPos); } void Dragging() { Vector3 draggingPos = Camera.main.ScreenToWorldPoint(touch.position); draggingPos.z = 0f; lr.positionCount = 2; lr.SetPosition(1, draggingPos); } void DragRelease() { lr.positionCount = 0; Vector3 dragReleasePos = Camera.main.ScreenToWorldPoint(touch.position); dragReleasePos.z = 0f; Vector3 force = dragStartPos - dragReleasePos; Vector3 clampedForce = Vector3.ClampMagnitude(force, maxDrag) * power; rb.AddForce(clampedForce, ForceMode2D.Impulse); } }
@Abd.r7mn
@Abd.r7mn 2 жыл бұрын
your name is Taliban?
@nenanikoc938
@nenanikoc938 2 жыл бұрын
OMG! That‘s what I need! Thanks for your help /(ㄒoㄒ)/~~ !
@sushantdhiman3999
@sushantdhiman3999 4 жыл бұрын
please give me source code
@anto3699
@anto3699 3 жыл бұрын
using System.Collections; using System.Collections.Generic; using UnityEngine; public class BallControl : MonoBehaviour { public float power = 10f; public float maxDrag = 5f; public Rigidbody2D rb; public LineRenderer lr; Vector3 dragStartpos; Touch touch; private void Update() { if (Input.touchCount > 0) { touch = Input.GetTouch(0); if (touch.phase == TouchPhase.Began) { DragStart(); } if (touch.phase == TouchPhase.Moved) { Dragging(); } if (touch.phase == TouchPhase.Ended) { DragRelease(); } } } void DragStart() { dragStartpos = Camera.main.ScreenToWorldPoint(touch.position); dragStartpos.z = 0f; lr.positionCount = 1; lr.SetPosition(0, dragStartpos); } void Dragging() { Vector3 draggingPos = Camera.main.ScreenToWorldPoint(touch.position); draggingPos.z = 0f; lr.positionCount = 2; lr.SetPosition(1, draggingPos); } void DragRelease() { lr.positionCount = 0; Vector3 dragReleasePos = Camera.main.ScreenToWorldPoint(touch.position); dragReleasePos.z = 0f; Vector3 force = dragStartpos - dragReleasePos; Vector3 clampedForce = Vector3.ClampMagnitude(force, maxDrag) * power; rb.AddForce(clampedForce, ForceMode2D.Impulse); } }
@kidkid5415
@kidkid5415 4 жыл бұрын
first
@MuddyWolf
@MuddyWolf 4 жыл бұрын
Ooof that's a flex!
@kidkid5415
@kidkid5415 4 жыл бұрын
@@MuddyWolf well i have notifications on
@MuddyWolf
@MuddyWolf 4 жыл бұрын
Wooo!
@cafestudiohenriquecafe1609
@cafestudiohenriquecafe1609 4 жыл бұрын
SCRIPT DOWNLOAD PLEASEEEEEEEEEEEEEE
Making a Game in ONE HOUR
7:27
Dani
Рет қаралды 3,5 МЛН
진짜✅ 아님 가짜❌???
0:21
승비니 Seungbini
Рет қаралды 10 МЛН
I Made the Same Game in 8 Engines
12:34
Emeral
Рет қаралды 4,3 МЛН
WHAT ARE "TIGHT" CONTROLS? - Movement in Games
9:14
JoshFTL
Рет қаралды 347 М.
How My Dumb Mobile Game Got 400k Downloads
13:24
Will Kwan
Рет қаралды 1,4 МЛН
DRAG & SHOOT in Unity | 2D Game Dev Tutorial
26:09
Muddy Wolf
Рет қаралды 64 М.
Brackeys Game Jam 2020 - BEST GAMES!
10:36
Brackeys
Рет қаралды 465 М.
Making my First Mobile Game  (in 1 Week)
14:47
Dani
Рет қаралды 3 МЛН
How To Drag And Drop 3D Objects In Unity By Touch. Mobile Touch Input (Unity Tutorial for Beginners)
14:01
TOUCH CONTROLS in Unity!
16:09
Brackeys
Рет қаралды 1,3 МЛН
2D Shooting | 2D Platformer in Unity #7 | 2D Game Dev Tutorial
10:23
10 Unity Tips You (Probably) Didn't Know About
8:58
Sasquatch B Studios
Рет қаралды 13 М.