﻿1
00:00:04,350 --> 00:00:05,340
‫Merhaba ve hoş geldiniz.

2
00:00:05,340 --> 00:00:12,540
‫Bu derste, üst üste binen aktörlere dizi adı verilen bir şeyle erişeceğiz, böylece

3
00:00:12,540 --> 00:00:19,860
‫bu birimin içinde gördüğümüz aktörleri tamamen C++'dan yazdırabileceğiz.

4
00:00:19,860 --> 00:00:21,510
‫Hadi içeri dalalım ve nasıl yapıldığını görelim.

5
00:00:22,420 --> 00:00:30,970
‫Önceki benzetmelerde olduğu gibi, bir tipin veya değişkenin içine değer koyduğumuz bir kutu olduğunu düşünelim.

6
00:00:31,000 --> 00:00:35,290
‫Şimdi, kaç değer depolamak istediğimizi bilmiyorsak ne olur?

7
00:00:35,290 --> 00:00:36,670
‫Çok sayıda değişken yaratabiliriz.

8
00:00:36,670 --> 00:00:39,610
‫Eğer beş tane olacağını bilseydik, beş değişken oluşturabilirdik.

9
00:00:39,610 --> 00:00:45,910
‫Peki ya seviyemizdeki aktör sayısı veya belirli bir tetikleyici hacmiyle örtüşen aktörler

10
00:00:46,540 --> 00:00:51,220
‫gibi tahmin edilemeyecek kadar çok olan bir şeyimiz varsa?

11
00:00:51,370 --> 00:01:00,220
‫Bu durumda, Unreal'da T dizisi olarak adlandırılan ve temelde belirli bir türde bir T dizisi olan yeni bir veri türü kullanmamız

12
00:01:00,220 --> 00:01:01,270
‫gerekir.

13
00:01:01,270 --> 00:01:08,860
‫Burada yine, daha önce de söylediğimiz gibi derleme zamanı parametreleri olan bu köşeli parantezleri görüyoruz.

14
00:01:08,860 --> 00:01:14,800
‫Ve bu sefer, yine, dizimizde hangi türü saklayabileceğimizi söyleyen bir tür alıyoruz.

15
00:01:14,800 --> 00:01:21,520
‫Bir dizi, birden fazla kutuya sahip olması ve oyunumuzu oynarken sahip olduğumuz kutu sayısının farklı olabilmesi

16
00:01:21,550 --> 00:01:23,980
‫dışında bir değişken gibidir.

17
00:01:23,980 --> 00:01:24,940
‫Değişebilir.

18
00:01:24,940 --> 00:01:28,330
‫Oyunda ilerledikçe daha fazla veya daha az ekleyebiliriz.

19
00:01:28,330 --> 00:01:32,650
‫Bir şeyler üst üste binmeye başladığında, üst üste binen bölgeyi terk eden şeyler olarak daha fazla kutu ekleriz.

20
00:01:32,650 --> 00:01:33,850
‫Onları götürürdük.

21
00:01:33,850 --> 00:01:37,510
‫Ve dediğim gibi, bu, bunların içindeki bir parametredir.

22
00:01:38,300 --> 00:01:39,560
‫Köşeli parantezler.

23
00:01:39,560 --> 00:01:46,190
‫Örneğin, bu kutularda farklı tamsayıları depolayacak bir tepsi ints olabilir.

24
00:01:46,190 --> 00:01:52,940
‫Aktör işaretçilerinden oluşan bir tepsimiz olabilir ve bu aslında dünyadaki aktörlere işaret eden kutulardaki

25
00:01:52,940 --> 00:01:55,880
‫işaretçileri depolayacaktır.

26
00:01:55,880 --> 00:01:57,740
‫Ve gördüğünüz gibi, bunlar üst üste bile gelebilir.

27
00:01:57,740 --> 00:02:01,430
‫Yani bu işaretçilerden bazıları aynı aktörlere işaret ediyor.

28
00:02:01,460 --> 00:02:04,760
‫Şimdi, pratikte bu çok kullanışlı olmazdı, ama kesinlikle mümkün.

29
00:02:04,760 --> 00:02:11,450
‫Bu yüzden ilkel bileşenin belgelerini tekrar gözden geçirmek istiyorum, çünkü

30
00:02:11,450 --> 00:02:16,490
‫burada aradığım şey örtüşen aktörleri al adlı bir işlev.

31
00:02:16,490 --> 00:02:21,170
‫Örtüşen aktörleri al işlevine bakarsanız, bunun birkaç versiyonu olduğunu görürsünüz.

32
00:02:21,530 --> 00:02:26,810
‫Ama benim için en ilginç olanı ikincisi.

33
00:02:27,170 --> 00:02:30,470
‫Geri dönüş değeri yoktur, boş bir geri dönüş değeridir.

34
00:02:30,470 --> 00:02:38,750
‫Ancak buradaki ilk parametrenin, sonunda bir ve işareti olan aktör işaretçilerinden oluşan bir t dizisi olduğunu

35
00:02:38,750 --> 00:02:43,700
‫görebilirsiniz, yani tüm bu şey bir t dizisine referanstır.

36
00:02:43,700 --> 00:02:51,950
‫Şimdi bunun sabit bir referans olmadığına dikkat edin, bu nedenle bu parametrenin aslında bir out parametresi olduğunu varsayabiliriz.

37
00:02:51,950 --> 00:03:00,230
‫Bize örtüşen aktörlerin sonucunu verir ve şu anda hangi aktörlerin ilkel bileşenimizle

38
00:03:00,230 --> 00:03:02,450
‫örtüştüğünü söyler.

39
00:03:02,450 --> 00:03:06,740
‫Şimdi kutu bileşenimizin ilkel bir bileşen olduğu ortaya çıktı.

40
00:03:06,740 --> 00:03:09,890
‫Dolayısıyla tetikleyici bileşenimiz de ilkel bir bileşendir.

41
00:03:09,890 --> 00:03:12,680
‫Peki bu işleve kimin erişimi olacak?

42
00:03:13,460 --> 00:03:18,200
‫Burada ikinci bir argüman var, ancak bunun hakkında endişelenmemize gerek yok çünkü kullanırsak aslında

43
00:03:18,200 --> 00:03:19,670
‫varsayılan bir değeri var.

44
00:03:19,670 --> 00:03:26,120
‫Şimdi devam edelim ve aktör işaretçilerinden oluşan bir tepsiyi ele geçirmeye ve doldurmaya çalışalım.

45
00:03:26,120 --> 00:03:27,710
‫Tetikleyici bileşene gireceğiz.

46
00:03:27,710 --> 00:03:31,610
‫CP Kene bileşenine ineceğiz.

47
00:03:31,700 --> 00:03:38,270
‫Ve burada, bu fonksiyonu kullanarak doldurabileceğimiz boş bir t dizisi oluşturacağız.

48
00:03:38,270 --> 00:03:48,170
‫Yani sözdizimi t dizisi açık açılı parantezler a aktör yıldızıdır ve aktör işaretçilerinden oluşan bir t dizisine sahip olduğumuzu söyler,

49
00:03:48,170 --> 00:03:55,310
‫açılı parantezleri kapatır ve ardından bu değişken adını aktörler olarak verebiliriz.

50
00:03:55,310 --> 00:04:05,780
‫Daha sonra çakışan aktörleri almak için çağırırız ve aktörler dizisini iletiriz.

51
00:04:06,590 --> 00:04:06,950
‫Şimdi.

52
00:04:06,950 --> 00:04:11,900
‫Bunu neden geri dönüş değeri olarak iletmediklerini bilmiyorum ama.

53
00:04:12,840 --> 00:04:13,450
‫Al bakalım.

54
00:04:13,470 --> 00:04:18,340
‫Bu da bize bu parametreleri biraz daha fazla kullanma fırsatı veriyor.

55
00:04:18,360 --> 00:04:19,530
‫Şimdi, bunların hepsi iyi ve güzel.

56
00:04:19,530 --> 00:04:22,350
‫Bir dizi içinde bazı aktörlerimiz var.

57
00:04:22,710 --> 00:04:24,120
‫Değişken bir uzunlukları var.

58
00:04:24,120 --> 00:04:25,140
‫Birkaç tane olabilir.

59
00:04:25,140 --> 00:04:26,520
‫Sıfır olabilir.

60
00:04:26,730 --> 00:04:29,670
‫Bunun gibi dizilerle ne yapacağız?

61
00:04:29,670 --> 00:04:34,020
‫Peki, dizide kaç öğe olduğunu sorgulayabiliriz.

62
00:04:34,020 --> 00:04:41,610
‫array, dot num parantezlerini kullanabilir ve dizide kaç öğe olduğunu söyleyen bir tamsayı döndürebilirsiniz.

63
00:04:41,610 --> 00:04:48,630
‫Yani bu özel dizide beş tane olduğunu söyleyebiliriz ve daha sonra bu köşeli parantezleri kullanarak

64
00:04:48,630 --> 00:04:52,020
‫bu dizinin içindeki öğelere erişebiliriz.

65
00:04:52,410 --> 00:04:56,100
‫Ve sonra köşeli parantezler içine aktardığınız sayı size hangi öğeyi alacağınızı söyler.

66
00:04:56,100 --> 00:05:02,820
‫Ve birçok programlama dilinde dizilerde saymaya sıfırdan başlamak olağan bir kuraldır.

67
00:05:02,820 --> 00:05:09,630
‫Yani bir dizinin sıfırıncı elemanı ilk elemanıdır, bir dizinin bir elemanı ikinci elemanıdır, vb.

68
00:05:09,630 --> 00:05:15,180
‫Ve böylece son elemanın dizideki eleman sayısından her zaman bir eksik olmasıyla sonuçlanır.

69
00:05:15,660 --> 00:05:17,640
‫Peki bu bilgiyi nasıl kullanabiliriz?

70
00:05:17,640 --> 00:05:24,540
‫Örneğin, yalnızca birden fazla aktör varsa çakışan aktörleri yazdırabiliriz.

71
00:05:24,540 --> 00:05:26,070
‫Peki bunu nasıl yapacağız?

72
00:05:26,070 --> 00:05:38,130
‫Eğer aktörün nokta sayısı parantezleri sıfırdan büyükse, o zaman burada aktörlerimizin sıfır elemanına erişmek

73
00:05:38,130 --> 00:05:46,500
‫gibi bir şey yapabiliriz, çünkü sıfırdan büyükse, orada en az bir eleman olması

74
00:05:46,500 --> 00:05:50,130
‫gerektiğini biliyoruz.

75
00:05:50,130 --> 00:05:54,690
‫Yani bu dizinin sıfırıncı elemanında bir şey olmalı.

76
00:05:54,690 --> 00:05:59,940
‫Dizinin ilk elemanının, yani bir elemanının içinde bir şey olduğunu ya da iki elemanının içinde bir şey

77
00:05:59,940 --> 00:06:01,620
‫olduğunu garanti edemezdik.

78
00:06:01,620 --> 00:06:06,870
‫Bunu yapmak için dizide yeterince öğe olup olmadığını kontrol etmemiz gerekir, ancak burada ilkinin

79
00:06:06,870 --> 00:06:08,700
‫olduğunu kesinlikle biliyoruz.

80
00:06:08,700 --> 00:06:12,690
‫Şimdi sizi bu diziden üst üste binen ilk aktörü yazdırmaya davet edelim.

81
00:06:12,720 --> 00:06:16,680
‫Bu köşeli parantezleri kullanarak işaretçiyi almak için diziyi kullanın.

82
00:06:16,680 --> 00:06:22,290
‫Daha sonra bu işaretçiyi çağırmak, aktör, isim veya etiket almak için kullanacak ve ardından bunu yazdıracak,

83
00:06:22,290 --> 00:06:25,140
‫videoyu duraklatacak ve deneyeceksiniz.

84
00:06:28,340 --> 00:06:29,650
‫Hey, tekrar hoş geldin.

85
00:06:29,660 --> 00:06:34,730
‫Böylece bu köşeli parantezleri kullanarak işaretçiyi burada tutabiliriz.

86
00:06:34,730 --> 00:06:41,300
‫Daha sonra ok operatörünü kullanarak ve get actor, name veya label'ı çağırarak

87
00:06:41,300 --> 00:06:43,610
‫doğrudan isme ulaşacağım.

88
00:06:44,090 --> 00:06:50,210
‫Ve bunu aktör adı adında bir F string değişkenine koyacağım.

89
00:06:50,210 --> 00:06:56,510
‫Ardından, üst üste binen iki nokta üst üste olarak adlandıracağımız bir U günlüğü yapacağız.

90
00:06:56,510 --> 00:06:58,390
‫Ve sonra yüzde s.

91
00:06:58,400 --> 00:07:03,740
‫Ve buradaki ikinci argüman yıldız işareti, aktör adı olmalıdır.

92
00:07:03,740 --> 00:07:09,650
‫Sonra yeniden derleyebilir, düzende çıktı günlüğü dosyamıza atlayabiliriz.

93
00:07:09,650 --> 00:07:16,130
‫Sonra BPP gizli duvarını açacağız çünkü bu dizeyi yazdırarak işleri karıştırmak

94
00:07:16,130 --> 00:07:17,270
‫istemiyorum.

95
00:07:17,270 --> 00:07:24,230
‫Blueprint'te bunu şimdi C++'dan yapıyoruz, bu yüzden zindan seviyesine geçip oynat düğmesine basalım.

96
00:07:25,160 --> 00:07:28,700
‫Ve açıkçası şu anda o aktörle örtüşen hiçbir şey yok.

97
00:07:28,700 --> 00:07:31,850
‫Peki gidip içeri girersek ne olur?

98
00:07:31,940 --> 00:07:36,320
‫Anında yazdırmaya başladığını ve bip sesi oynatıcısının üzerine bindiğimizi görebilirsiniz.

99
00:07:36,560 --> 00:07:37,760
‫Harika bir şey.

100
00:07:37,760 --> 00:07:40,370
‫Ya onun yerine gidip gargoyle'u alsaydık?

101
00:07:40,370 --> 00:07:43,820
‫Oyuğa götür, içine sok ve işte oldu.

102
00:07:43,820 --> 00:07:46,400
‫Gargoyle heykeliyle örtüştüğü yazıyor.

103
00:07:46,670 --> 00:07:47,270
‫Harika bir şey.

104
00:07:47,270 --> 00:07:55,340
‫Böylece, aktörlerin bir listesini almak için bir t dizisini nasıl kullanacağımızı ve bu listede kaç tane şey olduğunu

105
00:07:55,340 --> 00:08:00,980
‫ve bu listeden belirli bir öğeyi nasıl ele geçireceğimizi öğrendik.

106
00:08:00,980 --> 00:08:05,750
‫Bir sonraki derste, değişken sayıda görevi yerine getirmek için değişken

107
00:08:05,750 --> 00:08:10,790
‫sayıda şeyle uğraşmamızı sağlayan bazı programlama yapılarına bakacağız.

108
00:08:10,790 --> 00:08:11,870
‫Orada görüşürüz.

