Unity Endless Game - Part 7 : Generating Infinite Tiles

  Рет қаралды 73,532

GDTitans

GDTitans

Күн бұрын

Пікірлер: 148
@keshavmantri4767
@keshavmantri4767 4 жыл бұрын
Amazing work buddy. have been at this for days but couldn`t figure out a way to do this script. Thanks a lot. :)
@phucle-tw4xd
@phucle-tw4xd 3 жыл бұрын
Thank you very much, you guide is very dedicated and thoughtful, I have never learned solidarity thanks to you but also understand a lot, wish you always good luck and peace during the covid 19 pandemic. Thank you for spreading this knowledge to the community.
@Kristiancimo
@Kristiancimo 4 жыл бұрын
Finally! I needed a way to remove the platforms after passing on them and you explained it very very well.
@GDTitans
@GDTitans 4 жыл бұрын
Thank you so much for your encouragement.
@Kristiancimo
@Kristiancimo 4 жыл бұрын
Developer3.5Pro is there a way to contact you? I added other functions so I can spawn walls and roof but I think I have a problem in zSpawn variable
@Kristiancimo
@Kristiancimo 4 жыл бұрын
Developer3.5Pro the problem is that even if the prefabs are exactly 40 units in z, if I set zSpawn += 40 the prefabs over collide
@jaehoopark8106
@jaehoopark8106 4 жыл бұрын
So good! Easy to follow and clean code! I'm looking forward seeing another Tutorials - TPS, FPs...
@GDTitans
@GDTitans 4 жыл бұрын
Thanks, I am waiting for the unity 2020 full version to work with it in my new series.
@gamingkayoddha
@gamingkayoddha Жыл бұрын
Dude really thank you I've been having this issue from past 3 weeks but your video solved it thank you so much 😊😊
@ArtyMartyD
@ArtyMartyD 3 жыл бұрын
Christ those transitions are extra.
@IMXERone
@IMXERone 3 жыл бұрын
They go hard
@zeeshanhaider9636
@zeeshanhaider9636 10 ай бұрын
I copy every step but still tile are not spawning
@GamesOfVaibhav
@GamesOfVaibhav 3 жыл бұрын
Simple And Streight Forward :)
@MinchanGaming2020
@MinchanGaming2020 Жыл бұрын
Strangely found u here
@luqmaannana2908
@luqmaannana2908 4 жыл бұрын
Thanks. This is exactly what I needed
@promiseorazulike3568
@promiseorazulike3568 4 жыл бұрын
Thanks bro..for optimization purpose can you make the tiles to be pooled from Objects Pooler. Thanks in advance
@TheJakeblake
@TheJakeblake 3 жыл бұрын
9:00 is the spot for infinity spawning
@rghvmttl
@rghvmttl 4 жыл бұрын
Woww... such a great tutorial. I was searching for this from very a long time. Thank you!
@DidYouCropThat
@DidYouCropThat 2 жыл бұрын
The good approach is to move the entire scene and not the player, especially for infinite runs. What happens when you reach a too far-away position in numbers? Also despawning behind the player is easier, as they won't notice it.
@cimaaaaaaa
@cimaaaaaaa Жыл бұрын
Just what I needed, thanks mate
@GDTitans
@GDTitans Жыл бұрын
Glad I could help
@animaster6177
@animaster6177 2 жыл бұрын
For those who have gaps between tiles (ex. 1and 2 tiles -ok, 3 no), rebuild your tiles and PAY ATATTION to tiles x,y,z position. It's should be 0.0.0. It's better to move player capsule than road asset position or Tiles positions.
@martimalmeida17
@martimalmeida17 2 жыл бұрын
thanks bro
@piyush5764
@piyush5764 Жыл бұрын
can you please elaborate more to fix this
@zyxwars8035
@zyxwars8035 4 жыл бұрын
Thank you, for the tutorial, really helpful and understandable.
@nishantkumar-up3ft
@nishantkumar-up3ft 4 жыл бұрын
Dude your video series on this runner game is very good 👍☺️🙂 but please make a video on character selector like you did on this game
@OmarWarda-g4z
@OmarWarda-g4z Жыл бұрын
The player after moving with normal speed for a specific period of time the speed decreases again automatically what could be the problem?
@t-mo_0723
@t-mo_0723 Жыл бұрын
for some reason my player is not exactly in the middle of the path. it's slightly shifted to the left. how do i fixed it? great videos
@salamyousif4680
@salamyousif4680 2 жыл бұрын
Thank you very much for the fantastic work you provided and I appreciate it so much I wish you a great success
@kvbialka
@kvbialka 2 жыл бұрын
hi, could you help me bc i've a problem " 'List' does not a definition for 'removeAt' and no accessible extension method 'removeAt' accepting a first argument of type 'List' could be found " Thanks
@keremhunsoy1848
@keremhunsoy1848 4 жыл бұрын
Great job! Thanks.
@pixellegolas
@pixellegolas 2 жыл бұрын
Is it possible to instantiate some small obejcts on the tiles to make them unique each time also?
@forsen2119
@forsen2119 2 жыл бұрын
Hello. Thanks for the lesson! Please help me implement the level change. That is, when the player reaches a certain number of meters, the tile changes to another tile. I wrote code based on your lesson and I don't know how to implement it all.
@DukeFishron-mq1ir
@DukeFishron-mq1ir Жыл бұрын
Yea I would want that to but he never replied 😢😢😢
@forsen2119
@forsen2119 Жыл бұрын
@@DukeFishron-mq1ir I don't think he will answer. I hope you found what you were looking for ;)
@DukeFishron-mq1ir
@DukeFishron-mq1ir Жыл бұрын
@@forsen2119 I never did but hey I am leaves unity for a reason but search it up 0.20$
@flayxxfn
@flayxxfn 3 жыл бұрын
Thank you so much! This Tutorial was very helpfull for my game.
@GDTitans
@GDTitans 3 жыл бұрын
Thanks
@jadenhucke1231
@jadenhucke1231 4 жыл бұрын
PLEASE HELP! I'm having a few issues. 1.) Obstacles in the left and right lanes don't stop the player, despite having the same box collider as the same object in the middle lane. The player glides through the objects as if they don't exist. 2.) Objects in the middle lane which DO have a working box collider also stop the player in the left and right lanes, as if the box collider blocks all lanes. Jumping over this invisible barrier works, but I need the box colliders to affect its respective lane ONLY, NOT reach out into the surrounding lanes. I've searched EVERYWHERE for answers.
@GDTitans
@GDTitans 4 жыл бұрын
Watch part 8 I've talked about this issue.
@jadenhucke1231
@jadenhucke1231 4 жыл бұрын
@@GDTitans I just watched it, that issue is resolved thank you! Please refer to my newest comment on part 8. My game over screen activates instantly despite the floor tile not being tagged as an obstacle
@kubki5823
@kubki5823 3 жыл бұрын
how i change it to x and y position?
@geldregen
@geldregen 2 жыл бұрын
i need that too
@1onGoogle
@1onGoogle 11 ай бұрын
Your code is not generating tiles prfectly, meaning that it creates only in one place... You could modify it by taking the first one as initial then other at the back
@yourkodi3945
@yourkodi3945 4 жыл бұрын
hi friend, great guide. I think you will get better result moving the world (toward player) instead of the player (moving upwards), Great tutorial tho and keep up the great work
@Joemaniac71289
@Joemaniac71289 3 жыл бұрын
What do you mean?!
@yourkodi3945
@yourkodi3945 3 жыл бұрын
@@Joemaniac71289 the world should move and recycle rather than the player constantly moving
@marhakass5011
@marhakass5011 4 жыл бұрын
brother so great i like ! i have a question about make some levels how can we do it ? thank you for help
@broodjekaas6805
@broodjekaas6805 4 жыл бұрын
Make new scenes. Then you will need a scene manager. and you will need to be able to trigger those scenes (Like on trigger entry) This is my help forum post. BUT all the code you need is in it and all the steps are basically there (This is for loading a new scene) forum.unity.com/threads/loading-new-scene-error-need-index.978477/#post-6356253 SCRIPT: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class NameOfScript: MonoBehaviour { public const string s_Level001 = "SceneName"; private void OnTriggerEnter(Collider other) { SceneManager.LoadScene("SceneName"); } } You need help? message me "Jo I need help with scenes" on discord! Wizard#3081
@technocraftSTUDIO
@technocraftSTUDIO 4 жыл бұрын
one more step needed. what if i want to generate the first starting tile only appear once and not get repeated over time.
@19Grzib20
@19Grzib20 3 жыл бұрын
@DynamoXD Thanks!
@modnashri
@modnashri Жыл бұрын
​@@Thediamondgames254 thanks you helped me
@just_caramel
@just_caramel 9 ай бұрын
hello i am confused my model is getting stuck on the x axis and my road is spawning at 6x for some reason is there a way to change where the road spawns on the x axis because my model wont move sorry
@The_Plorp
@The_Plorp 2 жыл бұрын
how can I make some platforms be more rare than others?
@fatihcetiner691
@fatihcetiner691 3 жыл бұрын
I live in turkey ,very nice thanks bro :)
@GDTitans
@GDTitans 3 жыл бұрын
Hi, thanks Fatih You are welcome
@danthonyhill9906
@danthonyhill9906 4 жыл бұрын
Hey are you going to be do speed multiplayer where speed increases ?
@YazlmAkademisieed
@YazlmAkademisieed Жыл бұрын
Easy and clean. Thank you.
@GDTitans
@GDTitans Жыл бұрын
Thanks man
@kristiyanaleksiev8403
@kristiyanaleksiev8403 2 жыл бұрын
Thank you my bro
@GDTitans
@GDTitans 2 жыл бұрын
Any time
@ozgurgurbuz
@ozgurgurbuz 2 жыл бұрын
This is an awesome video. It work exactly as it told. But I have a problem. I don't want to spawn the same tile over and over again. I tried to change the codes but it didn't work. This is not working for example: "SpawnTile(Random.Range(0, tilePrefabs.Length - activeTiles[0]));" Please I want to learn how to make that.
@Adrian56555
@Adrian56555 Жыл бұрын
Hey thanks you are the best super Video, Super English👍👍
@ctwlprashant613
@ctwlprashant613 4 жыл бұрын
@Developer3.5pro how is “Random” ambiguous reference between ‘unityEngine.random’ and ‘System. Random’ ?
@Keerthan_reddy
@Keerthan_reddy 2 жыл бұрын
could u help me my tiles are spawning in not in length
@syympl257
@syympl257 3 жыл бұрын
i have an error where my player get stuck on the path while moving forward even though theres no obstacle infront of it and i have to jump in order for to make my player move again (it happens right next to a traffic cone [meaning it get stuck right next to a traffic cone ] until i jump and make it move ) please provide solution
@xxyxxyyyx
@xxyxxyyyx 4 жыл бұрын
even tho i have colliders on other tileprefabs then the first one, the player moves into them, my player only stops at the first obstacle at my first tileprefar, on the other tiles the obstacle dont work, but they have box colliders?
@GDTitans
@GDTitans 4 жыл бұрын
I've talked about this issue in part 8 Hope that helps
@mnkeycon7614
@mnkeycon7614 2 жыл бұрын
i have a question about how can loop my surrounding like buildings and all
@GDTitans
@GDTitans 2 жыл бұрын
Add the building to the tile prefabs
@abdidesign3255
@abdidesign3255 3 жыл бұрын
Thanks a lot I have been looking for this type of tutorial for ages. But I have one issue. once all the prefabs are appear on the scene it somehow stops generating more tiles. I literally followed exactly what you did. Thanks
@JitsDebnath-mp1ns
@JitsDebnath-mp1ns Жыл бұрын
hey can you make a tutorial on how to generate curved roads , like roads left and right so that my character can turn left and right and go ahead, similar to something in temple run? if you make it , it will be very very helpful for me , thanks in advance.
@GDTitans
@GDTitans Жыл бұрын
Yeah sure!
@JitsDebnath-mp1ns
@JitsDebnath-mp1ns Жыл бұрын
@@GDTitansplz man do it , It will be very useful for me
@shambles6794
@shambles6794 4 жыл бұрын
How to make tiles spawn in a specific order? Like, spawn tiles 2,3,4,5 in order... Thank you. And nice tutorial series BTW.
@GDTitans
@GDTitans 4 жыл бұрын
Instead of using a random tile index. You can use a simple counter of type int. Each time you spawn a tile, you need to increment it by one. But, if the counter go above the total number of tiles you need to reset it to 0 and so on.
@shambles6794
@shambles6794 4 жыл бұрын
@@GDTitans thank you. Looking forward to your other tutorials. Really helpful.
@AkashKonda-b7d
@AkashKonda-b7d 11 ай бұрын
instantiating an object everytime we need them is bad approach, use object pooling its effective performance wise.
@DontKnow-wm6jn
@DontKnow-wm6jn Жыл бұрын
how do i change the x position of the roads if i wish to?
@FoxxRyan7713
@FoxxRyan7713 2 жыл бұрын
thank you sensei.
@GDTitans
@GDTitans 2 жыл бұрын
ありがとうございます。
@ixpleew
@ixpleew Жыл бұрын
Thanks bro!
@GDTitans
@GDTitans Жыл бұрын
Any time
@tomxle6278
@tomxle6278 4 жыл бұрын
I did it like you but in my code / game the streets don't destroy themselves although I have programmed "DeleteTile()" like you. The for loop is also like yours. Do you maybe know another solution
@GDTitans
@GDTitans 4 жыл бұрын
You can create a script and attach it to all of your tiles. Inside this script under the start method use Destroy(gameobject, 5) so that the tile gets destroyed after 5 seconds.
@tomxle6278
@tomxle6278 4 жыл бұрын
@@GDTitans I do not understand to which Tiles I have to attach it. Couldn`t I do an endless for loop where 4 tiles spawn and after they've spawned they get deleted ? Could you pleasse code that for me here in the comments it would be very kind of you :)
@GDTitans
@GDTitans 4 жыл бұрын
@@tomxle6278 Try to watch the video again to understand it. If not Can you send me a link for your project to check it out?
@juancarlosgarciachamorro1199
@juancarlosgarciachamorro1199 3 жыл бұрын
Hello, I have a problem, the obstacles are not generated infinitely, what can I do? (sorry if it's misspelled, I speak Spanish and I'm using google translator)
@shambles6794
@shambles6794 3 жыл бұрын
I'm trying to add another set of prefab to the game. Like, spawn 20 tiles from first set then spawn 10 tiles from second prefab set and go back to first prefab set in a loop. I've been trying for days but I'm not getting it to work. How can i do that, please?😭😭
@robertnicu
@robertnicu 4 жыл бұрын
hey nice vid but i got a problem: for some reason, Unity refuses to belive that "zSpawn" is a variable and says its "an unexpected symbol" any help plz?
@technocraftSTUDIO
@technocraftSTUDIO 4 жыл бұрын
if anyone know this step please share here or any link, i want to spawn the starting tile only once(no repeat) and then randomly generate the other tiles as well
@OMGamingNL
@OMGamingNL 3 жыл бұрын
Well, you probably don't need it anymore, but you can accomplish that simply by creating a boolean set on false, then where the first tile gets created put an if-statement asking if the bool is false, then create the starting platform and set the bool to true. then, after the ifstatement put an else-statement with the normal tile creating code. This way the code scans foor the bool only once because you never reset it and basically always does the 'else' (normal tile creation) instead of the 'if' (starting tile creation).
@tiny_GLOBE_cooks
@tiny_GLOBE_cooks 2 жыл бұрын
Please find a solution for left and right spawn position for track ie, -x and +x
@rifasmohamedniyasudeen5227
@rifasmohamedniyasudeen5227 3 жыл бұрын
hey im only looking to implement this with a a side scroller shoot em up, but how can I implement this with both side spawning and removing them to free space?
@IamBlue.
@IamBlue. 3 жыл бұрын
how often did you sayed ... "And go back into Unity" in this project? XD Just wondering
@kingsstudio4776
@kingsstudio4776 3 жыл бұрын
hey , i dont want to move player , i want tiles move towards player and delete when cross the player , and generate tiles infinite....?
@shivamchoudhary7926
@shivamchoudhary7926 4 жыл бұрын
awesome and great video
@jaeemalven7951
@jaeemalven7951 2 жыл бұрын
my player doesn't stop in the middle. i wonder why. can someone help me?
@GDTitans
@GDTitans 2 жыл бұрын
I have talked about this in the next part kzbin.info/www/bejne/eaXbfnRrmJ2Eirc
@alexis6155
@alexis6155 3 жыл бұрын
i got this error Assets\scrips\TileManger.cs(29,51): error CS1061: 'GameObject[]' does not contain a definition for 'Lenght' and no accessible extension method 'Lenght' accepting a first argument of type 'GameObject[]' could be found (are you missing a using directive or an assembly reference?)
@szaaarlej
@szaaarlej 3 жыл бұрын
U have a typo in the code, its length not lenght
@alexis6155
@alexis6155 3 жыл бұрын
@@szaaarlej thanks, now I see that I have dislexia :D
@mehmetylmaz-mh6cs
@mehmetylmaz-mh6cs Жыл бұрын
Hi, i am getting error "UnassignedReferenceException: The variable playerTransform of TileManager has not been assigned. You probably need to assign the playerTransform variable of the TileManager script in the inspector." I am getting this error even though I copied the code from github, how can I fix it. @GDTitans
@QuickVidStudio
@QuickVidStudio 4 жыл бұрын
Hey! I hope you are still active on your YT account. Everything is good since 6:50 but after this i cant enter gamemode and have error : GameObject does not contain for Lenght and no accessible extesnsion method Lenght accepting a first argument of type GameObject could be found... Hope for a quick respone :)
@advikkabra8039
@advikkabra8039 4 жыл бұрын
Did you instantiate tilePrefabs as an array(put the square brackets after GameObject while instantiating)?
@systemofadown324
@systemofadown324 4 жыл бұрын
tyr length instead of lenght
@beastcraft7387
@beastcraft7387 4 жыл бұрын
You misspeled length instead U wrote lenght.
@alexg1765
@alexg1765 4 жыл бұрын
How can I generate tiles next to each other? For example i want to spawn three tiles at x = -1, 0 and 1 and make them generate all together along the z axis. Thanks in advance
@pressf2play526
@pressf2play526 4 жыл бұрын
Thanks!
@aqsaarif124
@aqsaarif124 3 жыл бұрын
how to find tile length of our gameobject like you set 30 ?
@aryanpeeple
@aryanpeeple 2 жыл бұрын
Bro how you learnt unity scripting
@ralex305
@ralex305 3 жыл бұрын
can someone help me my whole delete tiles script is wrong i think its because active tiles , did you use them in other videos or just this one
@JoaoVitor-wg7xk
@JoaoVitor-wg7xk 3 жыл бұрын
alguém mais esta tendo erro com o código ? public void SpawnTile(int tileIndex) { Instantiate(tilePrefabs[tileIndex]), transform.forward * zSpawn, transform.rotation); zSpawn += tileLength; } ele da o erro que não e possível encontrar a variável, alguém poderia me ajudar por favor...
@ArunKumar-uh4mu
@ArunKumar-uh4mu 4 жыл бұрын
mine left right movement is not working
@thegreatrc9302
@thegreatrc9302 3 жыл бұрын
Love your channel, the tiles seem to have a gap between them and you I can seem while moving forward , I tried adjusting the tile length but that only makes the tiles moves closer to each other and doesn't eliminate the gap. Is there a way to fix this in the code? thanks!
@GDTitans
@GDTitans 3 жыл бұрын
Make sure to put the right tileLength
@animaster6177
@animaster6177 2 жыл бұрын
Did you fix it?
@mqgazinuz_hd8486
@mqgazinuz_hd8486 3 жыл бұрын
PLS HELP it says "the variable tileprefabs of TileManager doesnt exist anymore." pls help me fix that
@gid123
@gid123 3 жыл бұрын
F we get same problem
@omerercan4923
@omerercan4923 3 жыл бұрын
what should we do if our speed is high
@KhattakVibess804
@KhattakVibess804 5 ай бұрын
thanks for class
@amalbabu3976
@amalbabu3976 3 жыл бұрын
Hi, I'm getting big space between two tiles.
@GDTitans
@GDTitans 3 жыл бұрын
Change the tileLength
@ivanbradic
@ivanbradic 3 жыл бұрын
How do i remove all objects in my list when i die?
@arvinrohani3225
@arvinrohani3225 2 жыл бұрын
Give like to this man u might think he is not doing a lot but believe he does by helping people like me so if it was helpful give a like to him for support that's a less thing we can do
@GDTitans
@GDTitans 2 жыл бұрын
Thanks 😊
@ioanniskopadis5342
@ioanniskopadis5342 4 жыл бұрын
everytime a tile spawns my game insta lags. maybe the tile length is wrong . how can i find the true tile length?
@GDTitans
@GDTitans 4 жыл бұрын
The easiest way is to put one tile reset the transform then try to put another one next to it with the move tool, the z position is the length.
@oscarsanchez-gv1by
@oscarsanchez-gv1by 3 жыл бұрын
hi ! How do you know how many units does your tile is ?
@animaster6177
@animaster6177 2 жыл бұрын
Game mode crushs Unity after 6:50
@vamsiavula2093
@vamsiavula2093 3 жыл бұрын
the player starts off the origin whenever i start the game
@zeeshanhaider9636
@zeeshanhaider9636 10 ай бұрын
using System.Collections; using System.Collections.Generic; using UnityEngine; public class TileManager : MonoBehaviour { public GameObject[] tilePrefabs; public float zSpawn = 100; public float tileLength = 10; public int numberofTiles = 4; public Transform Player; void Start() { for (int i = 0; i < numberofTiles; i++) { if(i == 0) { SpawnTile(0); }else { SpawnTile(Random.Range(0, tilePrefabs.Length)); } } } private void Update() { if(transform.position.z > zSpawn - (numberofTiles * tileLength)) { SpawnTile(Random.Range(0, tilePrefabs.Length)); } } void SpawnTile(int tileIndex) { Instantiate(tilePrefabs[tileIndex], transform.forward * zSpawn, transform.rotation); zSpawn += tileLength; }
@advaith_31
@advaith_31 4 жыл бұрын
how to make the prefabs???
@hi-s
@hi-s 4 жыл бұрын
هتعمل كورس باللغة العربية امتى؟
@GDTitans
@GDTitans 4 жыл бұрын
ما زلت أفكر في ذلك. ربما قريبا.
@zizerZxZ
@zizerZxZ 4 жыл бұрын
Amin
@amitmaaa6613
@amitmaaa6613 8 ай бұрын
داداش دمت گرم
@imaginationlydisabled509
@imaginationlydisabled509 4 жыл бұрын
tnx
@oneleaf525debnitya6
@oneleaf525debnitya6 4 жыл бұрын
My tile doesn't even spawn. Can anyone Help
@GDTitans
@GDTitans 4 жыл бұрын
What's the problem.
@oneleaf525debnitya6
@oneleaf525debnitya6 4 жыл бұрын
@@GDTitans my tiles doesn't spawn on my front but on coordinated 500 away but when I drag my prefabs to the scene it spawn right in front of me
@GDTitans
@GDTitans 4 жыл бұрын
@@oneleaf525debnitya6 make sure to reset the transform of the TileManager empty game object.
@oneleaf525debnitya6
@oneleaf525debnitya6 4 жыл бұрын
@@GDTitans Thanks it helped but like yours i have only 1 tile and when the 1 st one spawn its okay but on the second one it shows a bump. This problem is not there anywhere but only in b/w those 2
@davidpraslicka7931
@davidpraslicka7931 3 жыл бұрын
SI SEF
@vamsiavula2093
@vamsiavula2093 3 жыл бұрын
any one there
@zidan1729
@zidan1729 3 жыл бұрын
I have a problem when I click play my character flies away and the camera continues how can i fix it
@Keerthan_reddy
@Keerthan_reddy 2 жыл бұрын
could u help me my tiles are spawning in not in length
@cryknox
@cryknox Жыл бұрын
How do i measure my title length
When mom gets home, but you're in rollerblades.
00:40
Daniel LaBelle
Рет қаралды 44 МЛН
Unity Endless Game - Part 6 : Gameplay Prefabs ( Tiles )
11:35
THIRD PERSON MOVEMENT in Unity
21:05
Brackeys
Рет қаралды 1,5 МЛН
TOUCH CONTROLS in Unity!
16:09
Brackeys
Рет қаралды 1,3 МЛН
Endless Runner: Procedural Track Generation (Unity Tutorial)
14:37
Matt MirrorFish
Рет қаралды 58 М.
OBJECT POOLING in Unity
17:23
Brackeys
Рет қаралды 432 М.
3D ENDLESS RUNNER IN UNITY - JUMP (Pt 6)
8:19
Practical Programming
Рет қаралды 50 М.
When mom gets home, but you're in rollerblades.
00:40
Daniel LaBelle
Рет қаралды 44 МЛН