[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:01.27,0:00:03.74,Default,,0000,0000,0000,,ვისწავლეთ მასივის შექმნა და მასზე წვდომა. Dialogue: 0,0:00:03.74,0:00:12.86,Default,,0000,0000,0000,,მასივის მნიშვნელოვანი თვისებაა მისი\Nდინამიურობა პროგრამის მიმდინარეობისას. Dialogue: 0,0:00:12.86,0:00:15.80,Default,,0000,0000,0000,,ახლავე გიჩვენებთ ამაში რას ვგულისხმობ. Dialogue: 0,0:00:15.80,0:00:21.17,Default,,0000,0000,0000,,აქ გვაქვს პროგრამა, რომელიც გვიჩვენებს\Nბუშტებიანი ჰოპერის გამოსახულებას. Dialogue: 0,0:00:21.17,0:00:29.40,Default,,0000,0000,0000,,გვაქვს xPositions მასივი, რომელიც შეიცავს\Nინფორმაციას ორივე ბუშტის მდებარეობაზე. Dialogue: 0,0:00:29.40,0:00:35.47,Default,,0000,0000,0000,,აქ კი გვაქვს ციკლი, რომელიც\Nმასივის ყველა ელემენტს გაივლის. Dialogue: 0,0:00:35.47,0:00:46.81,Default,,0000,0000,0000,,თითოსთვის, ის x-დან ჰოპერის ხელამდე ხაზს,\Nx-ზე კი 30x40 ზომის ოვალს - ბუშტს ხატავს. Dialogue: 0,0:00:46.81,0:00:58.34,Default,,0000,0000,0000,,ესეიგი თუ მეტი ბუშტი გვინდა, საკმარისია\Nმასივს რიცხვები დავუმატოთ, მაგალითად, 300. Dialogue: 0,0:00:58.34,0:01:02.06,Default,,0000,0000,0000,,მშვენიერია, ახლა ჰოპერს სამი ბუშტი აქვს. Dialogue: 0,0:01:02.06,0:01:10.93,Default,,0000,0000,0000,,ვთქვათ, გვსურს პროგრამირებაში გამოუცდელს\Nმივცეთ ახალი ბუშტების დამატების საშუალება, Dialogue: 0,0:01:10.93,0:01:17.80,Default,,0000,0000,0000,,ისე, რომ სადაც მომხმარებელი დააკლიკებს\Nეკრანს მაუსით, ბუშტი გაჩნდეს. Dialogue: 0,0:01:17.80,0:01:20.69,Default,,0000,0000,0000,,მგონი ძალიან მაგარი იქნება. Dialogue: 0,0:01:20.69,0:01:26.64,Default,,0000,0000,0000,,როგორ შეიძლება ეს მოვახერხოთ? გვინდა\Nრომ ჩვენი პროგრამა დროში იცვლებოდეს, არა? Dialogue: 0,0:01:26.64,0:01:30.28,Default,,0000,0000,0000,,მომხმარებლის ყოველ\Nდაკლიკებაზე ბუშტი უნდა გაჩნდეს. Dialogue: 0,0:01:30.28,0:01:37.64,Default,,0000,0000,0000,,გადავიტანოთ ყველაფერი ხატვის ფუნქციაში\Nრომ დროში ცვლა მარტივი გახდეს. Dialogue: 0,0:01:37.64,0:01:43.18,Default,,0000,0000,0000,,ესეიგი ამას აქ ჩამოვიტანთ და გამოვყოფთ. Dialogue: 0,0:01:43.18,0:01:48.40,Default,,0000,0000,0000,,ახლა გვინდა იმის შემოწმება, აწვება თუ\Nარა მომხმარებელი მაუსს ზუსტად ახლა. Dialogue: 0,0:01:48.40,0:01:55.34,Default,,0000,0000,0000,,ეს "if"-ით შეგვიძლია. if(mouselsPressed)\Nდა შემდეგ კიდევ რაღაც. Dialogue: 0,0:01:55.34,0:02:01.18,Default,,0000,0000,0000,,რა უნდა გავაკეთოთ? თუ მაუსს აწვებიან,\Nროგორმე ამ მასივს რიცხვი უნდა დავუმატოთ. Dialogue: 0,0:02:01.18,0:02:04.23,Default,,0000,0000,0000,,ისევ ორელემენტიანი იყოს. Dialogue: 0,0:02:04.23,0:02:10.46,Default,,0000,0000,0000,,ესეიგი გვინდა როგორმე ამ მასივს რიცხვი\Nდავუმატოთ. მე ამის ერთ გზას გიჩვენებთ. Dialogue: 0,0:02:10.46,0:02:18.51,Default,,0000,0000,0000,,შეგვიძლია დავწეროთ xPositions[2] = mouseX; Dialogue: 0,0:02:18.51,0:02:21.68,Default,,0000,0000,0000,,კარგი, ახლა გიჩვენებთ\Nრომ ეს მართლაც მუშაობს. Dialogue: 0,0:02:21.68,0:02:26.64,Default,,0000,0000,0000,,დავაკლიკე და ესეც ასე, ბუშტიც\Nმივიღე. რა გააკეთა ამ ჩანაწერმა? Dialogue: 0,0:02:26.64,0:02:38.24,Default,,0000,0000,0000,,xPositions[2] პოულობს მასივის ადგილ 2-ზე\Nმყოფ ელემენტს, რომელიც რეალურად მესამეა. Dialogue: 0,0:02:38.24,0:02:41.74,Default,,0000,0000,0000,,თუ დაუკვირდებით, მესამე\Nადგილი თავისუფალია, იქ არაფერია. Dialogue: 0,0:02:41.74,0:02:45.90,Default,,0000,0000,0000,,ამიტომ, ჯერ ვპოულობთ ამ ადგილს\Nდა შემდეგ მასში ვათავსებთ mouseX-ს. Dialogue: 0,0:02:45.90,0:02:51.36,Default,,0000,0000,0000,,რადგან მანამდე აქ არაფერია, ახლა\Nამ ადგილის მნიშვნელობა mouseX გახდება. Dialogue: 0,0:02:51.36,0:03:00.13,Default,,0000,0000,0000,,ჩვენი მასივი ახლა სამ რიცხვს შეიცავს\Nდა ციკლი მესამე ბუშტსაც დახატავს. Dialogue: 0,0:03:00.13,0:03:04.03,Default,,0000,0000,0000,,ძალიან კარგი, კიდევ დავაკლიკებ\Nრომ ნახოთ როგორ მუშაობს. Dialogue: 0,0:03:04.03,0:03:10.69,Default,,0000,0000,0000,,როგორც ხედავთ, ყოველი დაკლიკებისას\Nხატავს მესამე ბუშტს იქ, სადაც ვაკლიკებ. Dialogue: 0,0:03:10.69,0:03:18.94,Default,,0000,0000,0000,,ეს იმიტომ, რომ ადგილ 2-ს\Nმუდმივად ახალ მნიშვნელობას ვანიჭებთ, Dialogue: 0,0:03:18.94,0:03:22.90,Default,,0000,0000,0000,,მნიშვნელობად ვწერთ ახალ mouseX-ს. Dialogue: 0,0:03:22.90,0:03:34.57,Default,,0000,0000,0000,,გვექნება მხოლოდ სამი ბუშტი, ერთი 0-ში,\Nერთი 1-ში და ერთიც, რომელსაც ვცვლით, 2-ში. Dialogue: 0,0:03:34.57,0:03:40.24,Default,,0000,0000,0000,,ეს უკვე ძალიან მაგარია, მაგრამ ჩვენ გვსურს\Nმომხმარებელს ბევრი ბუშტი დავახატვინოთ, Dialogue: 0,0:03:40.24,0:03:43.52,Default,,0000,0000,0000,,ანუ ყოველ დაკლიკებაზე\Nახალი ბუშტი ჩნდებოდეს. Dialogue: 0,0:03:43.52,0:03:50.85,Default,,0000,0000,0000,,ესეიგი, ყოველ დაკლიკებაზე უნდა\Nვზრდიდეთ მასივის ელემენტების რაოდენობას. Dialogue: 0,0:03:50.85,0:03:56.11,Default,,0000,0000,0000,,ანუ სულ 2-ის მაგივრად, შემდეგ დაკლიკებაზე\Nგვექნება 3, შემდეგ 4, 5, 6 და ა.შ. Dialogue: 0,0:03:56.11,0:04:01.02,Default,,0000,0000,0000,,ამისთვის შეგვიძლია მთვლელი\Nცვლადი შევქმნათ. დავწეროთ newInd = 2; Dialogue: 0,0:04:01.02,0:04:05.52,Default,,0000,0000,0000,,აქ 2-ის ნაცვლად newInd-ს დავწერთ\Nდა ბოლოს საჭირო იქნება newInd++; Dialogue: 0,0:04:10.27,0:04:16.23,Default,,0000,0000,0000,,ასე ამ ცვლადს ყოველ ჯერზე დავუმატებთ ერთს.\Nჯერ იქნება 2, შემდეგ 3, შემდეგ - 4. Dialogue: 0,0:04:16.23,0:04:18.47,Default,,0000,0000,0000,,ესეიგი ეს ცვლადი ყოველ\Nდაკლილებაზე გაიზრდება. Dialogue: 0,0:04:18.47,0:04:22.01,Default,,0000,0000,0000,,ესეც ასე! ბევრი ბუშტი. ბუშტების წვეულება! Dialogue: 0,0:04:22.01,0:04:32.11,Default,,0000,0000,0000,,მაგარია, მაგრამ ეს არაა საუკეთესო გზა,\Nრადგან მასივის ზრდა ბევრჯერ მოგვიწევს. Dialogue: 0,0:04:32.11,0:04:35.02,Default,,0000,0000,0000,,ამ ეფექტის მისაღწევად\Nუფრო მარტივი გზაც არსებობს. Dialogue: 0,0:04:35.02,0:04:42.77,Default,,0000,0000,0000,,ეს ყველაფერი არ გვჭირდება. Dialogue: 0,0:04:42.77,0:04:50.100,Default,,0000,0000,0000,,დავწეროთ xPositions.push და შემდეგ mouseX. Dialogue: 0,0:04:50.100,0:04:56.57,Default,,0000,0000,0000,,ამ მეთოდს xPositions მასივისთვის ვიძახებთ. Dialogue: 0,0:04:56.57,0:05:05.23,Default,,0000,0000,0000,,ეს ბრძანება მასივს ეუბნება რომ ახალი\NmouseX მნიშვნელობა დაამატოს თავის ბოლოში. Dialogue: 0,0:05:05.23,0:05:12.47,Default,,0000,0000,0000,,ყოველ დაკლიკებაზე ეს ბრძანება ახალ\NmouseX ცვლადს მასივში დაამატებს. Dialogue: 0,0:05:12.47,0:05:16.77,Default,,0000,0000,0000,,ასე რომ მასივი ყოველ ჯერზე\Nუფრო და უფრო გაიზრდება. Dialogue: 0,0:05:16.77,0:05:22.68,Default,,0000,0000,0000,,იმუშავა! და ამისთვის წინანდელზე\Nგაცილებით ნაკლები კოდი დაგვჭირდა. Dialogue: 0,0:05:22.68,0:05:27.63,Default,,0000,0000,0000,,უმეტესად ჯობს push გამოიყენოთ როცა\Nმასივისთვის ელემენტების დამატება გსურთ. Dialogue: 0,0:05:27.63,0:05:32.18,Default,,0000,0000,0000,,ეს მოსახერხებელი მეთოდია მასივების \Nასაზრდელად პროგრამის მიმდინარეობისას, Dialogue: 0,0:05:32.18,0:05:36.02,Default,,0000,0000,0000,,მაგალითად, როცა გვაქვს ანიმაცია,\Nან მომხმარებლები იყენებენ რამეს. Dialogue: 0,0:05:36.02,0:05:41.30,Default,,0000,0000,0000,,დაახლოებით გავიარეთ 90% იმისა,\Nთუ რაში გამოიყენება მასივები, Dialogue: 0,0:05:41.30,0:05:46.79,Default,,0000,0000,0000,,თუმცა კიდევ მრავალი გამოყენება არსებობს\Nმათთვის, შეგიძლიათ ეს ფორუმზე გაარჩიოთ. Dialogue: 0,0:05:46.79,0:05:50.07,Default,,0000,0000,0000,,მაგრამ სასურველია\Nჯერ საფუძვლებში გაიწაფოთ.