0:00:01.271,0:00:03.741 ვისწავლეთ მასივის შექმნა და მასზე წვდომა. 0:00:03.741,0:00:12.859 მასივის მნიშვნელოვანი თვისებაა მისი[br]დინამიურობა პროგრამის მიმდინარეობისას. 0:00:12.859,0:00:15.805 ახლავე გიჩვენებთ ამაში რას ვგულისხმობ. 0:00:15.805,0:00:21.172 აქ გვაქვს პროგრამა, რომელიც გვიჩვენებს[br]ბუშტებიანი ჰოპერის გამოსახულებას. 0:00:21.172,0:00:29.397 გვაქვს xPositions მასივი, რომელიც შეიცავს[br]ინფორმაციას ორივე ბუშტის მდებარეობაზე. 0:00:29.397,0:00:35.471 აქ კი გვაქვს ციკლი, რომელიც[br]მასივის ყველა ელემენტს გაივლის. 0:00:35.471,0:00:46.810 თითოსთვის, ის x-დან ჰოპერის ხელამდე ხაზს,[br]x-ზე კი 30x40 ზომის ოვალს - ბუშტს ხატავს. 0:00:46.810,0:00:58.343 ესეიგი თუ მეტი ბუშტი გვინდა, საკმარისია[br]მასივს რიცხვები დავუმატოთ, მაგალითად, 300. 0:00:58.343,0:01:02.063 მშვენიერია, ახლა ჰოპერს სამი ბუშტი აქვს. 0:01:02.063,0:01:10.932 ვთქვათ, გვსურს პროგრამირებაში გამოუცდელს[br]მივცეთ ახალი ბუშტების დამატების საშუალება, 0:01:10.932,0:01:17.801 ისე, რომ სადაც მომხმარებელი დააკლიკებს[br]ეკრანს მაუსით, ბუშტი გაჩნდეს. 0:01:17.801,0:01:20.688 მგონი ძალიან მაგარი იქნება. 0:01:20.688,0:01:26.640 როგორ შეიძლება ეს მოვახერხოთ? გვინდა[br]რომ ჩვენი პროგრამა დროში იცვლებოდეს, არა? 0:01:26.640,0:01:30.278 მომხმარებლის ყოველ[br]დაკლიკებაზე ბუშტი უნდა გაჩნდეს. 0:01:30.278,0:01:37.637 გადავიტანოთ ყველაფერი ხატვის ფუნქციაში[br]რომ დროში ცვლა მარტივი გახდეს. 0:01:37.637,0:01:43.185 ესეიგი ამას აქ ჩამოვიტანთ და გამოვყოფთ. 0:01:43.185,0:01:48.405 ახლა გვინდა იმის შემოწმება, აწვება თუ[br]არა მომხმარებელი მაუსს ზუსტად ახლა. 0:01:48.405,0:01:55.339 ეს "if"-ით შეგვიძლია. if(mouselsPressed)[br]და შემდეგ კიდევ რაღაც. 0:01:55.339,0:02:01.176 რა უნდა გავაკეთოთ? თუ მაუსს აწვებიან,[br]როგორმე ამ მასივს რიცხვი უნდა დავუმატოთ. 0:02:01.176,0:02:04.232 ისევ ორელემენტიანი იყოს. 0:02:04.232,0:02:10.464 ესეიგი გვინდა როგორმე ამ მასივს რიცხვი[br]დავუმატოთ. მე ამის ერთ გზას გიჩვენებთ. 0:02:10.464,0:02:18.508 შეგვიძლია დავწეროთ xPositions[2] = mouseX; 0:02:18.508,0:02:21.681 კარგი, ახლა გიჩვენებთ[br]რომ ეს მართლაც მუშაობს. 0:02:21.681,0:02:26.640 დავაკლიკე და ესეც ასე, ბუშტიც[br]მივიღე. რა გააკეთა ამ ჩანაწერმა? 0:02:26.640,0:02:38.236 xPositions[2] პოულობს მასივის ადგილ 2-ზე[br]მყოფ ელემენტს, რომელიც რეალურად მესამეა. 0:02:38.236,0:02:41.742 თუ დაუკვირდებით, მესამე[br]ადგილი თავისუფალია, იქ არაფერია. 0:02:41.742,0:02:45.897 ამიტომ, ჯერ ვპოულობთ ამ ადგილს[br]და შემდეგ მასში ვათავსებთ mouseX-ს. 0:02:45.897,0:02:51.358 რადგან მანამდე აქ არაფერია, ახლა[br]ამ ადგილის მნიშვნელობა mouseX გახდება. 0:02:51.358,0:03:00.130 ჩვენი მასივი ახლა სამ რიცხვს შეიცავს[br]და ციკლი მესამე ბუშტსაც დახატავს. 0:03:00.130,0:03:04.027 ძალიან კარგი, კიდევ დავაკლიკებ[br]რომ ნახოთ როგორ მუშაობს. 0:03:04.027,0:03:10.690 როგორც ხედავთ, ყოველი დაკლიკებისას[br]ხატავს მესამე ბუშტს იქ, სადაც ვაკლიკებ. 0:03:10.690,0:03:18.938 ეს იმიტომ, რომ ადგილ 2-ს[br]მუდმივად ახალ მნიშვნელობას ვანიჭებთ, 0:03:18.938,0:03:22.898 მნიშვნელობად ვწერთ ახალ mouseX-ს. 0:03:22.898,0:03:34.574 გვექნება მხოლოდ სამი ბუშტი, ერთი 0-ში,[br]ერთი 1-ში და ერთიც, რომელსაც ვცვლით, 2-ში. 0:03:34.574,0:03:40.235 ეს უკვე ძალიან მაგარია, მაგრამ ჩვენ გვსურს[br]მომხმარებელს ბევრი ბუშტი დავახატვინოთ, 0:03:40.235,0:03:43.524 ანუ ყოველ დაკლიკებაზე[br]ახალი ბუშტი ჩნდებოდეს. 0:03:43.524,0:03:50.852 ესეიგი, ყოველ დაკლიკებაზე უნდა[br]ვზრდიდეთ მასივის ელემენტების რაოდენობას. 0:03:50.852,0:03:56.106 ანუ სულ 2-ის მაგივრად, შემდეგ დაკლიკებაზე[br]გვექნება 3, შემდეგ 4, 5, 6 და ა.შ. 0:03:56.106,0:04:01.019 ამისთვის შეგვიძლია მთვლელი[br]ცვლადი შევქმნათ. დავწეროთ newInd = 2; 0:04:01.019,0:04:05.523 აქ 2-ის ნაცვლად newInd-ს დავწერთ[br]და ბოლოს საჭირო იქნება newInd++; 0:04:10.270,0:04:16.231 ასე ამ ცვლადს ყოველ ჯერზე დავუმატებთ ერთს.[br]ჯერ იქნება 2, შემდეგ 3, შემდეგ - 4. 0:04:16.231,0:04:18.473 ესეიგი ეს ცვლადი ყოველ[br]დაკლილებაზე გაიზრდება. 0:04:18.473,0:04:22.009 ესეც ასე! ბევრი ბუშტი. ბუშტების წვეულება! 0:04:22.009,0:04:32.108 მაგარია, მაგრამ ეს არაა საუკეთესო გზა,[br]რადგან მასივის ზრდა ბევრჯერ მოგვიწევს. 0:04:32.108,0:04:35.023 ამ ეფექტის მისაღწევად[br]უფრო მარტივი გზაც არსებობს. 0:04:35.023,0:04:42.768 ეს ყველაფერი არ გვჭირდება. 0:04:42.768,0:04:50.996 დავწეროთ xPositions.push და შემდეგ mouseX. 0:04:50.996,0:04:56.573 ამ მეთოდს xPositions მასივისთვის ვიძახებთ. 0:04:56.573,0:05:05.232 ეს ბრძანება მასივს ეუბნება რომ ახალი[br]mouseX მნიშვნელობა დაამატოს თავის ბოლოში. 0:05:05.232,0:05:12.467 ყოველ დაკლიკებაზე ეს ბრძანება ახალ[br]mouseX ცვლადს მასივში დაამატებს. 0:05:12.467,0:05:16.768 ასე რომ მასივი ყოველ ჯერზე[br]უფრო და უფრო გაიზრდება. 0:05:16.768,0:05:22.684 იმუშავა! და ამისთვის წინანდელზე[br]გაცილებით ნაკლები კოდი დაგვჭირდა. 0:05:22.684,0:05:27.630 უმეტესად ჯობს push გამოიყენოთ როცა[br]მასივისთვის ელემენტების დამატება გსურთ. 0:05:27.630,0:05:32.182 ეს მოსახერხებელი მეთოდია მასივების [br]ასაზრდელად პროგრამის მიმდინარეობისას, 0:05:32.182,0:05:36.017 მაგალითად, როცა გვაქვს ანიმაცია,[br]ან მომხმარებლები იყენებენ რამეს. 0:05:36.017,0:05:41.295 დაახლოებით გავიარეთ 90% იმისა,[br]თუ რაში გამოიყენება მასივები, 0:05:41.295,0:05:46.792 თუმცა კიდევ მრავალი გამოყენება არსებობს[br]მათთვის, შეგიძლიათ ეს ფორუმზე გაარჩიოთ. 0:05:46.792,0:05:50.072 მაგრამ სასურველია[br]ჯერ საფუძვლებში გაიწაფოთ.