﻿1
00:00:04,310 --> 00:00:05,270
‫Merhaba ve hoş geldiniz.

2
00:00:05,270 --> 00:00:10,280
‫Bu derste, yalnızca belirli bir fonksiyon içinde var olan değişkenler olan yerel değişkenler

3
00:00:10,280 --> 00:00:12,020
‫kavramını inceleyeceğiz.

4
00:00:12,020 --> 00:00:20,030
‫Ve konumumuzu vektörümde saklanandan farklı bir değere ayarlamak için bunu nasıl kullanabileceğimizi

5
00:00:20,030 --> 00:00:21,560
‫göreceğiz.

6
00:00:21,590 --> 00:00:22,460
‫Hadi içeri dalalım.

7
00:00:22,640 --> 00:00:28,520
‫Bu noktaya kadar, bir sınıfa ait değişkenlerle uğraştık.

8
00:00:28,520 --> 00:00:31,760
‫Bunu Blueprint'te yaptık ve şimdi de C++'ta yaptık.

9
00:00:31,760 --> 00:00:37,190
‫Bu da değişkenin sınıfın örneği olduğu sürece canlı kalacağı anlamına gelir.

10
00:00:37,190 --> 00:00:43,250
‫Her örnek bir değişkenin kendi kopyasını alır, ancak sınıf örneği hayattayken değişken iki

11
00:00:43,250 --> 00:00:43,970
‫tanedir.

12
00:00:43,970 --> 00:00:47,690
‫Şimdi, az önce bahsettiğim bu kavramın aslında bir adı var.

13
00:00:47,690 --> 00:00:49,130
‫Buna Scope deniyor.

14
00:00:49,460 --> 00:00:52,640
‫Bunun anlamı, değişkenin ne kadar yaşadığıdır?

15
00:00:52,640 --> 00:00:59,510
‫Ve az önce bir sınıfın belirli bir örneği olduğu sürece yaşayan bir değişken olan bir örnek değişkeni

16
00:00:59,510 --> 00:01:00,710
‫tanımladım.

17
00:01:00,860 --> 00:01:03,890
‫Şimdi başka tür değişkenler de var.

18
00:01:03,890 --> 00:01:07,490
‫Bir fonksiyon kadar uzun yaşayan değişkenler vardır.

19
00:01:07,490 --> 00:01:13,220
‫Temel olarak belirli bir işlevi çağırdığınızda, bu işlev çalışır ve işlev biter

20
00:01:13,220 --> 00:01:14,960
‫bitmez değişken ölür.

21
00:01:15,050 --> 00:01:23,660
‫Yani C++'da, genel olarak konuşursak, bir değişken sözdizimindeki parantezler arasında geçerlidir.

22
00:01:23,660 --> 00:01:25,520
‫Yani bu iyi bir kural.

23
00:01:25,520 --> 00:01:31,520
‫Her zaman tam olarak doğru değildir, ancak örneğin tick fonksiyonu, burada bazı parantezlerimiz

24
00:01:31,520 --> 00:01:39,740
‫var ve bu tick fonksiyonunun içinde bir değişken bildirirsek, o zaman sadece bir kez var olacaktır.

25
00:01:39,740 --> 00:01:44,120
‫Tik fonksiyonu çağrılır ve bir sonraki sefer yeniden oluşturulur.

26
00:01:44,390 --> 00:01:46,070
‫Hareketli platform.

27
00:01:46,370 --> 00:01:48,650
‫Hareketli platforma bakarsak bunu görebiliriz.

28
00:01:48,980 --> 00:01:56,300
‫H Vektörümün, sınıfın tanımına ait olan bazı küme parantezleri içinde bildirildiğini görebilirsiniz,

29
00:01:56,300 --> 00:02:02,390
‫bu nedenle bu değişkenler sınıfın bir örneği olduğu sürece yaşar.

30
00:02:02,390 --> 00:02:04,610
‫Bunu size kanıtlamak istiyorum.

31
00:02:04,610 --> 00:02:11,210
‫Şimdi hareketli platform DHCP'ye girelim ve bunun içinde bir yerel değişken oluşturalım.

32
00:02:11,210 --> 00:02:15,050
‫Bu yüzden onu aynen bizim yaptığımız gibi oluşturacağım.

33
00:02:15,050 --> 00:02:20,960
‫Başlık dosyasında hata bildirirken, bir F vektörümüz olacak, sonra vektörün adı, ben

34
00:02:20,960 --> 00:02:23,090
‫buna yerel vektör diyeceğim.

35
00:02:23,720 --> 00:02:28,130
‫Ve sonra bunu oluşturduğumuzda bir değer olarak ayarlayabiliriz.

36
00:02:28,130 --> 00:02:32,960
‫Bunu F vektörünün kurucusunu kullanarak yapabileceğimiz gibi, bir değişkeni bir fonksiyona aktarabildiğimiz

37
00:02:32,960 --> 00:02:35,540
‫gibi başka bir değişkenden de yapabiliriz.

38
00:02:35,540 --> 00:02:38,870
‫Bu yüzden öncelikle kurucu yöntemini kullanabiliriz.

39
00:02:38,870 --> 00:02:46,040
‫F vektörümüz olacak ve ona 1'den 3'e kadar bir değer verip satırın sonunda noktalı virgül koyacağım.

40
00:02:46,040 --> 00:02:48,230
‫Yani bu artık bir yerel değişkendir.

41
00:02:48,230 --> 00:02:55,070
‫Yalnızca bu işlev içinde bulunur ve işlev her çağrıldığında sıfırlanır.

42
00:02:55,070 --> 00:03:01,010
‫Eğer böyle bir şey yapacak olsaydım, 29. satırda vektörüm güncellenirken yaptığımız

43
00:03:01,010 --> 00:03:09,410
‫gibi bir şey yapsaydım, yerel bir vektörümüz olabilirdi, yerel vektör z'nin yerel vektör nokta z artı bir'e eşit

44
00:03:09,410 --> 00:03:12,740
‫olmasını sağlayabilirdik.

45
00:03:12,920 --> 00:03:22,100
‫Ve eğer konumumu bu yerel vektöre ayarlarsam, her bir karede aynı olacaktır çünkü sıfırlanır

46
00:03:22,100 --> 00:03:26,240
‫ve aynı konumdan başlarız.

47
00:03:26,240 --> 00:03:28,940
‫Bir, iki, üç, her bir tik fonksiyonu.

48
00:03:28,940 --> 00:03:31,640
‫Yani bu işlev gerçekten sadece yerel olarak mevcuttur.

49
00:03:31,640 --> 00:03:38,840
‫Bu yüzden, yerel vektörü benim vektörümden ayarlamak için küçük bir deney yapmanızı istiyorum.

50
00:03:38,840 --> 00:03:43,580
‫Yani temel olarak yapıcıdan ayarlamak yerine, o anda vektörümde bulunan

51
00:03:43,580 --> 00:03:46,010
‫değerden ayarlayacaksınız.

52
00:03:46,040 --> 00:03:50,210
‫Bu vektörün bir kopyasını yerel vektörünüze alacaktır.

53
00:03:50,510 --> 00:03:54,530
‫Daha sonra yerel vektörü kullanarak konuma ayarlamanızı istiyorum.

54
00:03:54,530 --> 00:04:00,380
‫Ve bu yerel vektörü her karede güncellemeye çalıştığımız için, etkinin ne olduğunu görelim.

55
00:04:00,380 --> 00:04:01,610
‫Platform hareket ediyor mu?

56
00:04:01,610 --> 00:04:07,490
‫Öyle olmasını bekler misiniz ve gidip dener misiniz, kodu derleyip oynatır mısınız ve gerçekten öyle olup olmadığını görür müsünüz?

57
00:04:07,490 --> 00:04:09,140
‫Videoyu duraklatın ve deneyin.

58
00:04:12,040 --> 00:04:12,640
‫Tamam.

59
00:04:12,640 --> 00:04:13,630
‫Tekrar hoş geldiniz.

60
00:04:13,630 --> 00:04:19,600
‫Bu yüzden yerel vektörü ayarlamak için buradaki kurucuyu kullanmak yerine vektörümü

61
00:04:19,600 --> 00:04:21,100
‫ayarlayacağım.

62
00:04:21,100 --> 00:04:28,540
‫Yani şu anda benim vektörümde depolanan değeri alıyoruz ve bunu yerel vektöre koyuyoruz

63
00:04:28,810 --> 00:04:32,830
‫ve ardından yerel vektörü güncelliyoruz.

64
00:04:32,830 --> 00:04:39,700
‫Söylediklerini her karede bir artırıyoruz ve sonra aktör konumunu vektörümden

65
00:04:39,700 --> 00:04:45,070
‫ayarlamak yerine yerel vektörden ayarlamak istiyorum.

66
00:04:45,460 --> 00:04:48,940
‫Şimdi bu davada ne olacağını düşünüyorsunuz?

67
00:04:48,940 --> 00:04:51,010
‫Hadi gidip öğrenelim.

68
00:04:51,010 --> 00:04:56,620
‫Derleme düğmesine basacağım ve devam edip oynat düğmesine basacağım ve platformun

69
00:04:56,620 --> 00:05:03,160
‫hala sağa doğru hareket ettiğini, ancak Z yönünde yukarı çıkmadığını göreceğiz.

70
00:05:03,160 --> 00:05:09,700
‫Böylece, yerel vektörün artmasının gerçekten bir etkisi olmadığını görebilirsiniz

71
00:05:09,700 --> 00:05:14,680
‫çünkü her karede vektörümdeki mevcut değerden sıfırlanıyor.

72
00:05:14,680 --> 00:05:17,350
‫Ancak vektörüm hâlâ güncelleniyor.

73
00:05:17,350 --> 00:05:19,840
‫Her karede y değeri artıyor, her karede.

74
00:05:19,840 --> 00:05:22,840
‫İşte bu yüzden sağa doğru bir hareket görüyoruz.

75
00:05:22,840 --> 00:05:31,600
‫Dolayısıyla, yerel vektördeki bu değişikliğin sadece yerel olduğunu görmenin bir yolu, bu değeri birden

76
00:05:31,600 --> 00:05:33,820
‫belki 100'e çıkarmaktır.

77
00:05:33,820 --> 00:05:38,560
‫Yani yerel vektör değerine 100 ekliyoruz.

78
00:05:38,770 --> 00:05:42,550
‫Gidip derleyebilir ve ardından oynat düğmesine basabiliriz.

79
00:05:42,760 --> 00:05:47,710
‫Ve göreceğiniz şey, platformun aslında havada 100 birim daha yüksekte olduğudur.

80
00:05:47,740 --> 00:05:55,450
‫Burada bir saniye duralım ve F sekiz ile dışarı çıkalım ve ana araç çubuğundaki duraklatma düğmesiyle oyunu duraklatalım

81
00:05:55,450 --> 00:06:01,780
‫ve ardından ayrıntılar bölmesinde bir göz atmak için hareketli platformumuzu seçelim.

82
00:06:01,780 --> 00:06:05,410
‫Bunu yapmak için, bir nedenden dolayı görüntü alanında gerçekten üzerine tıklamam gerekiyor.

83
00:06:05,410 --> 00:06:07,540
‫Bazen çalışmıyor, sadece anahatta üzerine tıklıyorum.

84
00:06:08,410 --> 00:06:17,440
‫Ve size vektörümdeki değerin, vektörümdeki z değerinin, dönüşümün Z konumundan 100

85
00:06:17,440 --> 00:06:21,970
‫birim daha az olduğunu belirtmek isterim.

86
00:06:21,970 --> 00:06:27,010
‫Dolayısıyla, bu yerel vektörü eklemenin bir etkisi olduğunu görebilirsiniz.

87
00:06:27,010 --> 00:06:34,150
‫Vektörümdeki konumdan 100 birim daha yüksek bir konumumuz var.

88
00:06:34,150 --> 00:06:39,340
‫Yerel değişkenlerin gerçekten harika olan yanı, işlev belirli bir yürütmeyi tamamladığında temizlenmeleri

89
00:06:39,340 --> 00:06:41,500
‫ve sıfırlanmalarıdır.

90
00:06:41,500 --> 00:06:44,440
‫Böylece yerel bir değişkenden ne bekleyeceğinizi her zaman bilebilirsiniz.

91
00:06:44,440 --> 00:06:50,740
‫Başka herhangi bir işlevden her an güncellenebilen bir sınıf değişkeninin aksine, içinde hangi değerin olacağını

92
00:06:50,740 --> 00:06:52,720
‫her zaman bilirsiniz.

93
00:06:52,720 --> 00:06:57,190
‫Bu yüzden birkaç ders sonra bu yerel değişkenleri test edeceğiz.

94
00:06:57,190 --> 00:06:58,630
‫Hadi dalalım.

