﻿1
00:00:04,390 --> 00:00:05,410
‫Merhaba ve hoş geldiniz.

2
00:00:05,420 --> 00:00:11,230
‫Bu derste üye fonksiyonları ve belirli bir vektörün yönünü bulmamızı

3
00:00:11,230 --> 00:00:17,680
‫sağlayacak olan get safe ve normal fonksiyonlarını tanıtacağız.

4
00:00:17,680 --> 00:00:19,900
‫İçeri dalalım ve bunun nasıl çalıştığını görelim.

5
00:00:20,690 --> 00:00:26,480
‫Yani platformu ters yönde geri göndermeye yönelik basit yöntemimiz, test ettiğimiz

6
00:00:26,480 --> 00:00:28,200
‫hızlarda çalışıyor.

7
00:00:28,220 --> 00:00:34,130
‫Peki ya "Hey, bu platformu on kat daha hızlı hale getirelim" dersem ne olur?

8
00:00:34,160 --> 00:00:36,570
‫Devam edip oynayalım ve neler olacağını görelim.

9
00:00:36,590 --> 00:00:42,410
‫Birdenbire bu platformlar oldukça ileri atlıyor ve daha önce olduğu gibi aynı yerde

10
00:00:42,410 --> 00:00:43,710
‫gezinmiyor.

11
00:00:43,730 --> 00:00:53,330
‫Bunun nedeni, başlangıç konumu olarak belirlediğimizde mevcut konumun tam olarak taşınan

12
00:00:53,330 --> 00:00:58,910
‫mesafe olmamasıdır, mesafeyi aşmış olabiliriz.

13
00:00:58,910 --> 00:01:01,490
‫Ve bu da burada if deyiminde yakalanmıştır.

14
00:01:01,490 --> 00:01:07,310
‫Taşınan mesafenin hareket mesafesinden daha büyük olduğunu söylüyoruz, bu da aşmış olacağımız anlamına geliyor.

15
00:01:07,310 --> 00:01:11,680
‫Bu if ifadesini tetiklememiz için aşırı hız yapmış olmamız gerekir.

16
00:01:11,690 --> 00:01:17,840
‫Ancak asıl soru ne kadar olduğu ve bunun Delta zamanının ne kadar büyük olduğuna bağlı olacağıdır.

17
00:01:17,840 --> 00:01:23,690
‫Özellikle platform hızı büyükse, oldukça büyük miktarlarda aşabiliriz, bu da başlangıç konumumuzun

18
00:01:23,690 --> 00:01:26,990
‫zaman içinde kayabileceği anlamına gelir.

19
00:01:26,990 --> 00:01:28,550
‫Sabit kalmayabilir.

20
00:01:28,550 --> 00:01:35,570
‫Bunu yapmanın daha iyi bir yolu, tam hareket mesafesini kullanarak yeni konuma ulaşmak için orijinal başlangıç konumundan

21
00:01:35,570 --> 00:01:39,770
‫ne kadar uzağa gitmemiz gerektiğini hesaplamak olacaktır.

22
00:01:39,770 --> 00:01:43,040
‫Şimdi bu ileri geri hesaplamayı görselleştirmeye çalışalım.

23
00:01:43,040 --> 00:01:46,430
‫Burada başlangıç konumunda bir platformumuz olduğunu söylüyoruz.

24
00:01:46,520 --> 00:01:53,090
‫Bir yönü ve boyutu olan bir okla temsil edebileceğimiz bir hızı olduğunu ve ayrıca hareket etmesini istediğimiz

25
00:01:53,090 --> 00:01:55,840
‫bir mesafesi olduğunu söylüyoruz.

26
00:01:55,850 --> 00:01:58,160
‫Bunu sadece buradaki ayraçla temsil edeceğiz.

27
00:01:58,700 --> 00:02:05,720
‫Şimdi, söylediğimiz şey, platformun tam olarak nerede olacağını bulmak istediğimizdir,

28
00:02:05,720 --> 00:02:09,960
‫aşırıya kaçmak değil, sadece tam olarak son konum.

29
00:02:09,980 --> 00:02:14,960
‫Şimdi, bunu yapabilmemizin yolu hız okunun yönünü almaktır.

30
00:02:14,960 --> 00:02:21,380
‫Vektör dilinde buna okun normali denir ve temel olarak onu bir boyuta

31
00:02:21,380 --> 00:02:22,610
‫indirir.

32
00:02:22,610 --> 00:02:25,970
‫Yani yönü alıyoruz ama boyutu bir.

33
00:02:25,970 --> 00:02:31,700
‫Böylece bu sayı, esasen hızın boyutunu, ne kadar hızlı gittiğimizi bilmemizi sağlar.

34
00:02:32,090 --> 00:02:39,080
‫Ve sonra yapabileceğimiz şey, bize başlangıç konumundan bitiş konumuna kadar tüm hareketi

35
00:02:39,080 --> 00:02:45,230
‫veren bir ok vermek için bu yönü mesafemizin miktarıyla çarpabiliriz.

36
00:02:45,230 --> 00:02:46,310
‫Aynen öyle.

37
00:02:46,310 --> 00:02:49,760
‫Şimdi bunu C++'da nasıl yapabileceğimize bir göz atalım.

38
00:02:49,760 --> 00:02:52,460
‫Aradığımız şey yeni bir başlangıç yeri.

39
00:02:52,460 --> 00:02:58,670
‫Şu anda bunu nasıl yaptığımızı kaldıralım ve başlangıç konumumuz şuna eşit olsun, peki, neye

40
00:02:58,670 --> 00:02:59,780
‫eşit olacak?

41
00:02:59,780 --> 00:03:05,150
‫Her şeyden önce başlangıç konumu artı bir şeye eşit olacak çünkü buradan

42
00:03:05,150 --> 00:03:10,850
‫başlıyoruz ve sona ulaşmak için bu yeşil vektörü ekliyoruz.

43
00:03:10,850 --> 00:03:13,250
‫Peki oradaki yeşil vektör ne?

44
00:03:13,670 --> 00:03:18,770
‫İşte bu noktada platformun normal hızını almamız gerekiyor.

45
00:03:18,770 --> 00:03:24,740
‫Ve anlamamızı kolaylaştırmak için bunu kendi değişkenine ayıracağım.

46
00:03:24,740 --> 00:03:32,630
‫Bu yüzden F vektör tipinde yeni bir değişken oluşturacağız, buna hareket yönü adını vereceğim, sadece içinde

47
00:03:32,630 --> 00:03:38,060
‫depolamaya çalıştığımız şeyin ne olduğunu çok açık hale getirmek için ve

48
00:03:38,060 --> 00:03:47,780
‫sonra bunu platform hız noktasından alacağız, güvenli, normal ve ardından sonun etrafında bazı parantezler alacağız.

49
00:03:47,780 --> 00:03:48,950
‫Peki burada neler oluyor?

50
00:03:48,950 --> 00:03:50,660
‫Bunu daha önce görmemiştik.

51
00:03:50,660 --> 00:03:54,770
‫Vektörün bileşenlerini, X, Y ve Z'yi elde etmek için Dot'u kullandık.

52
00:03:54,770 --> 00:03:55,970
‫Bunlar değişkenlerdi.

53
00:03:56,060 --> 00:04:04,580
‫Ancak C++'da ve genel olarak nesne yönelimli programlamada, sınıflar üzerinde var olan fonksiyonlarımız da vardır, bu nedenle bunlardan

54
00:04:04,580 --> 00:04:08,510
‫birine ulaşmak için DOT operatörünü kullanabiliriz.

55
00:04:08,510 --> 00:04:13,250
‫Sınıfın kendisinden çıkarmaya çalışırken iki nokta üst üste işaretini kullandık.

56
00:04:13,250 --> 00:04:20,480
‫Ancak gerçek vektörün kendisiyle, yani platform hızları vektörüyle bir işlem yapmak istediğimizde, bu

57
00:04:20,480 --> 00:04:25,520
‫vektörün normalini elde etmek için nokta operatörünü kullanabiliriz.

58
00:04:25,520 --> 00:04:30,830
‫Yani burada yaptığımız şey, üye değişken yerine üye fonksiyon kullanmak.

59
00:04:31,070 --> 00:04:36,770
‫Dolayısıyla, bu platform hızının güvenli normaline sahibiz ve satırın sonuna noktalı virgül koyacağız

60
00:04:36,770 --> 00:04:41,360
‫çünkü burada esasen hareket yönü olduğunu söylediğimiz bir değişkenimiz var.

61
00:04:41,360 --> 00:04:50,330
‫Şimdi bunu bir sonraki satırda hareket yönü ile yapılandırılan hareket mesafesinin çarpımını yapmak için kullanabiliriz

62
00:04:50,330 --> 00:04:56,870
‫çünkü tam olarak sonuna kadar hareket etmek istiyoruz, aşmak değil.

63
00:04:56,870 --> 00:05:01,850
‫Bunu yaptıktan sonra da platformumuzu son konuma taşımalıyız.

64
00:05:01,850 --> 00:05:08,630
‫Bu yüzden aktör konumunu başlangıç konumu olarak ayarlayacağız, çünkü aksi takdirde platformumuz

65
00:05:08,630 --> 00:05:14,780
‫aşmış ve bu son konumu geçmiş olacak çünkü onu aşılan konum olan mevcut konumla güncellemiş

66
00:05:14,780 --> 00:05:16,460
‫olacağız.

67
00:05:16,700 --> 00:05:20,000
‫Bu da tam olarak bitiş noktasına gitmemizi sağlar.

68
00:05:20,050 --> 00:05:23,710
‫Ve sonra bu yeni başlangıç konumundan başlayın.

69
00:05:23,740 --> 00:05:29,020
‫Şimdi, tüm bunları yaptıktan sonra platform hızını güncellememiz önemlidir çünkü bunu hareket

70
00:05:29,020 --> 00:05:31,420
‫yönünü belirlemek için kullanıyoruz.

71
00:05:31,420 --> 00:05:36,230
‫Bu yüzden aktör konumunu ayarladıktan sonra platform hızını güncelleyeceğim.

72
00:05:36,250 --> 00:05:40,690
‫Şimdi bir makaraya geri dönelim ve derlemeye basalım ve bunun düzelip düzelmediğini görelim.

73
00:05:40,690 --> 00:05:47,230
‫Platformumuzun ileri ve geri hareket etmesiyle ilgili sorun, bu terminali kapatalım ve play tuşuna basalım.

74
00:05:47,230 --> 00:05:53,800
‫Şimdi baktığımızda, platform hızlı hareket ediyor, ancak beklediğimiz başlangıç ve bitiş konumları etrafında güvenilir

75
00:05:53,800 --> 00:05:56,020
‫bir şekilde hareket ediyor.

76
00:05:56,020 --> 00:05:58,300
‫Bu derste anlatmak istediklerim bu kadar.

77
00:05:58,300 --> 00:06:03,880
‫Bazı platform yapılandırmalarımız için ortaya çıkabilecek küçük bir hatayı düzelttik.

78
00:06:03,880 --> 00:06:05,380
‫Bir sonrakinde görüşürüz.

