﻿1
00:00:04,110 --> 00:00:07,740
‫Bu derste, bir C++ sınıfı oluşturacağız.

2
00:00:07,770 --> 00:00:11,310
‫Şimdi piyonlarımız için kullanabileceğimiz bir sınıfa ihtiyacımız var.

3
00:00:11,340 --> 00:00:15,720
‫Şimdi piyonlar diyorum, çoğul olarak, çünkü oyunumuzda iki farklı piyon olacak.

4
00:00:15,720 --> 00:00:20,280
‫Seviyede yuvarlanmak için kullandığımız bir tank olacak ve düşmanımız olacak

5
00:00:20,280 --> 00:00:24,870
‫bir taret olacak, böylece temel bir piyon sınıfı oluşturabileceğiz.

6
00:00:24,870 --> 00:00:30,050
‫Ve bu, hem tankın hem de taretin paylaşacağı temel işlevselliğe sahip olacak.

7
00:00:30,060 --> 00:00:34,890
‫Ve bu şekilde iki alt sınıfımızı, tank ve tareti oluşturabiliriz.

8
00:00:34,890 --> 00:00:40,890
‫Yani bunlar temel piyon sınıfından nitelikleri miras alacaklar ve bunlar her iki piyonun da paylaşacağı

9
00:00:40,890 --> 00:00:47,820
‫şeyler olacak, örneğin ağa sahip olmak, kapsül bileşenine sahip olmak ve mermi fırlatma yeteneği gibi.

10
00:00:47,820 --> 00:00:51,840
‫Şimdi, bu video için gelecek videolarda tüm bu özelliklere değineceğiz.

11
00:00:51,840 --> 00:00:56,280
‫Sadece C++ sınıfını oluşturacağız ve ona bazı temel değişkenler ekleyeceğiz.

12
00:00:56,280 --> 00:01:00,990
‫İşte ilk C++ sınıfımızı oluşturmak için motivasyonumuz budur.

13
00:01:01,020 --> 00:01:06,450
‫Şimdi bu proje için bazı C++ sınıfları oluşturmaya başlamaya hazırız.

14
00:01:06,630 --> 00:01:13,410
‫Şimdi içerik tarayıcısında C++ sınıfları için herhangi bir klasör olmadığını göreceksiniz.

15
00:01:13,410 --> 00:01:19,770
‫Bunun nedeni henüz herhangi bir sınıf oluşturmamış olmamız, ancak şimdi yazmak üzere olduğumuz için araçlara

16
00:01:19,770 --> 00:01:22,140
‫gidip yeni C++ sınıfını seçebiliriz.

17
00:01:22,140 --> 00:01:27,690
‫Ve burada oluşturacağımız sınıf için ana sınıfı seçeceğiz.

18
00:01:27,690 --> 00:01:31,740
‫Ve varsayılan olarak, burada aralarından seçim yapabileceğimiz birkaç seçeneğimiz var.

19
00:01:31,740 --> 00:01:35,330
‫Bu, önceki derslerde görmüş olmanız gereken bir şeydir.

20
00:01:35,330 --> 00:01:38,280
‫Şimdi burada vermemiz gereken bazı kararlar var.

21
00:01:38,370 --> 00:01:41,550
‫Birincisi, hangi ebeveyn sınıfını seçeceğiz?

22
00:01:41,550 --> 00:01:42,210
‫Bizde var.

23
00:01:42,210 --> 00:01:43,860
‫Birincisi hiç yok.

24
00:01:43,860 --> 00:01:50,910
‫Bu temelde eski bir C++ sınıfı oluşturmamıza izin verir, ancak bazı ekstra işlevlere ihtiyacımız olacak.

25
00:01:50,910 --> 00:01:55,440
‫Birincisi, bu nesnenin bir örneğini dünyaya yerleştirebilmek istiyoruz.

26
00:01:55,440 --> 00:01:58,230
‫Yani bunu eski bir C++ sınıfı ile yapamayız.

27
00:01:58,230 --> 00:02:03,810
‫Bunu bir karakterle, bir piyonla ya da bir aktörle yapabiliriz ama yapmak istediğimiz şey için bunlardan

28
00:02:03,810 --> 00:02:05,250
‫hangisi en uygun?

29
00:02:05,400 --> 00:02:10,020
‫Bir adım geri atmalı ve burada tam olarak ne yaratmaya çalıştığımızı düşünmeliyiz.

30
00:02:10,050 --> 00:02:17,460
‫Kontrol edebileceğimiz, seviyede hareket ettirebileceğimiz ve mermi atabileceğimiz bir tank oluşturmaya çalışıyoruz, böylece

31
00:02:17,460 --> 00:02:21,570
‫varlık klasörümüzde hasar ve tüm bu iyi şeyleri yapabiliriz.

32
00:02:21,570 --> 00:02:28,770
‫Sadece hatırlatmak için, burada bu meshes klasörümüz var ve tank tabanımız ve tank taretimiz var.

33
00:02:28,800 --> 00:02:32,670
‫Bunlar sınıfımızda yer alacak iki farklı kafes.

34
00:02:32,670 --> 00:02:35,640
‫Bu yüzden kafeslere sahip olma kabiliyetine ihtiyacımız var.

35
00:02:35,640 --> 00:02:39,270
‫Dolayısıyla, düz bir C++ sınıfı bu yeteneğe sahip değildir.

36
00:02:39,540 --> 00:02:41,670
‫Bunu bir saniye düşünelim.

37
00:02:41,670 --> 00:02:44,250
‫Hangi ana sınıfı kullanmalıyız?

38
00:02:44,250 --> 00:02:48,780
‫Muhtemelen aklınıza gelmesi gereken ilk sınıf aktör sınıfıdır.

39
00:02:48,780 --> 00:02:52,320
‫Artık aktör sınıfı dünyaya yerleştirilebilme özelliğine sahiptir.

40
00:02:52,320 --> 00:02:53,850
‫Yani bu harika bir başlangıç.

41
00:02:53,940 --> 00:02:57,750
‫Ayrıca görsel bir temsile sahip olma özelliğine de sahiptir.

42
00:02:57,750 --> 00:03:04,080
‫Bu ister bir ağ ister başka bir şey olsun, ona bir ağ veya görmek istediğiniz her neyse onu vermeniz koşuluyla,

43
00:03:04,080 --> 00:03:07,650
‫onu dünyaya yerleştirdiğinizde gerçekten görülebilir.

44
00:03:07,650 --> 00:03:13,260
‫Şimdi actor'den türetilen -- sınıfına sahibiz ve bu sınıf, bir denetleyici tarafından sahiplenilme

45
00:03:13,260 --> 00:03:19,830
‫yeteneği gibi ek niteliklere sahip olması dışında, tüm bu nitelikleri actor sınıfından miras alır.

46
00:03:19,830 --> 00:03:25,980
‫Şimdi tüm bu sahip olma olayı daha sonra daha ayrıntılı olarak ele alınacak bir şey, ancak şimdilik bunun bir -- bir

47
00:03:25,980 --> 00:03:30,060
‫oyuncu tarafından kontrol edilebileceği anlamına geldiğini anlayın.

48
00:03:30,060 --> 00:03:36,750
‫Yani bir fare düğmesine veya bir klavye tuşuna basıyorsanız, bu ayarlanıp yapılandırılabilir, böylece

49
00:03:36,750 --> 00:03:38,580
‫-- hareket ettirebiliriz.

50
00:03:38,580 --> 00:03:43,110
‫Yani bu, tankımız için kesinlikle isteyeceğimiz bir şeye benziyor.

51
00:03:43,110 --> 00:03:49,410
‫Dolayısıyla, hareket girdisini işleyerek, -- şu anda -- sınıfından türetilen ve böylece --'ın sahip olduğu

52
00:03:49,410 --> 00:03:55,560
‫tüm şeyleri ve ayrıca --'ın ana sınıfından miras aldığı tüm şeyleri miras alan oldukça iyi bir seçim gibi

53
00:03:55,560 --> 00:03:56,880
‫görünüyor.

54
00:03:56,880 --> 00:04:02,100
‫Karaktere özgü bazı şeylere sahip olan karakter sınıfımız var.

55
00:04:02,460 --> 00:04:05,550
‫Örneğin, karakter hareketi bileşeni denen bir şey var.

56
00:04:05,550 --> 00:04:07,830
‫Şimdi, bir -- buna sahip değil.

57
00:04:07,860 --> 00:04:13,980
‫Karakter hareketi bileşeni, karaktere uçma, yüzme ve çömelme gibi farklı hareket

58
00:04:13,980 --> 00:04:19,440
‫modları ve karakterlere özgü diğer şeyler gibi ekstra yetenekler verir.

59
00:04:19,440 --> 00:04:25,560
‫Karakter sınıfı iki ayaklı karakterler için iyidir ve iki ayaklı olmayan karakterler

60
00:04:25,560 --> 00:04:28,410
‫için çok iyi çalışmayacaktır.

61
00:04:28,410 --> 00:04:34,050
‫Seviyede uçan ve gördüğü her şeye bomba atan bir tanka sahip olmak oldukça harika

62
00:04:34,050 --> 00:04:38,940
‫olsa da, bu bölümde o kadar karmaşık bir şey yapmayacağız.

63
00:04:38,940 --> 00:04:41,040
‫Sadece yuvarlanabilen bir tank yapacağız.

64
00:04:41,040 --> 00:04:47,220
‫Yani karakter hareketi bileşenine veya karaktere özel herhangi bir şeye gerçekten ihtiyacımız yok.

65
00:04:47,220 --> 00:04:52,380
‫Bu yüzden bence bir --, başarmaya çalıştığımız şey için mükemmel.

66
00:04:52,380 --> 00:04:59,490
‫Şimdi sizden yeni bir C++ sınıfı oluşturmanızı, -- tabanlı bir sınıf oluşturmanızı ve bu yeni sınıfa -- tabanlı bir isim

67
00:04:59,490 --> 00:05:01,230
‫vermenizi isteyeceğim.

68
00:05:01,230 --> 00:05:03,600
‫Şimdi tüm ayarları olduğu gibi bırakabilirsiniz.

69
00:05:03,670 --> 00:05:05,200
‫Sınıf oluşturma sihirbazında.

70
00:05:05,200 --> 00:05:10,570
‫Dosya yolunu ya da buna benzer bir şeyi değiştirmenize gerek yok, bu yüzden videoyu duraklatın ve

71
00:05:10,570 --> 00:05:13,030
‫bu proje için ilk C++ sınıfınızı oluşturun.

72
00:05:16,320 --> 00:05:18,090
‫Buraya, seviyeye geri dönelim.

73
00:05:18,120 --> 00:05:21,690
‫Şimdi araçlara gidelim ve yeni bir C++ sınıfı oluşturalım.

74
00:05:21,690 --> 00:05:24,260
‫C++ sınıfını henüz oluşturmadım.

75
00:05:24,270 --> 00:05:27,180
‫O slayta geri dönmek için bunu kapattım.

76
00:05:27,180 --> 00:05:33,480
‫Ama şimdi geri döndüğüme göre, bu proje için ilk C++ sınıfımı oluşturmaya hazırım ve seçeceğim -- ve bunların

77
00:05:33,480 --> 00:05:36,720
‫üzerine her geldiğinizde bunu göreceksiniz.

78
00:05:36,720 --> 00:05:38,370
‫Muhtemelen bunu daha önce görmüşsünüzdür.

79
00:05:38,400 --> 00:05:44,790
‫Bir araç ipucu açılır ve şöyle der: -- oyuncular tarafından ele geçirilebilen tüm aktörlerin temel

80
00:05:44,790 --> 00:05:45,660
‫sınıfıdır.

81
00:05:45,660 --> 00:05:53,370
‫Kulağa oldukça heyecan verici geldiğini biliyorum, ancak bunu bir oyuncudan gelen girdiyle hareket edebilecek şekilde yapılandıracağız.

82
00:05:53,370 --> 00:05:55,380
‫Yani bu mükemmel.

83
00:05:55,470 --> 00:06:01,020
‫Bir seviyedeki oyuncuların ve yaratıkların fiziksel temsilleri olduklarını söylemeye devam ediyor.

84
00:06:01,020 --> 00:06:07,080
‫Başka bir deyişle, bu tankı yarattığımızda, dünyadaki oyuncular olarak bizi temsil edecek.

85
00:06:07,080 --> 00:06:07,950
‫Çok güzel.

86
00:06:08,040 --> 00:06:15,960
‫Bu yüzden -- öğesini seçin ve ileri öğesine tıklayın, bize bu sınıfı projemize yapıştıracağı yolu gösterecek ve kaynak

87
00:06:15,960 --> 00:06:20,070
‫eğik çizgi tune tanklarında olduğunu göreceksiniz.

88
00:06:20,070 --> 00:06:26,280
‫Şimdi yeni -- çünkü benim -- korkunç bir isim ve çok belirsiz.

89
00:06:26,280 --> 00:06:29,700
‫Şimdi biraz daha spesifik bir şeye ihtiyacımız var.

90
00:06:29,700 --> 00:06:35,400
‫Bunu bir temel sınıf olarak kullanmayı planlayacağız, yani bu sınıftan sınıflar türeteceğiz,

91
00:06:35,400 --> 00:06:38,340
‫böylece bu tabanı çağırabileceğiz --.

92
00:06:38,340 --> 00:06:43,080
‫Bunun benimkinden çok daha iyi olmadığını biliyorum ama yine de bize bunun bir üs olduğunu söylüyor.

93
00:06:43,080 --> 00:06:46,770
‫Bu, gelecekte alt sınıfları türeteceğimiz bir şeydir.

94
00:06:46,770 --> 00:06:47,730
‫Ona da geleceğiz.

95
00:06:47,730 --> 00:06:52,320
‫Ancak şimdilik, buna temel diyeceğiz -- ve Sınıf Oluştur'a tıklayacağız.

96
00:06:53,930 --> 00:06:54,590
‫Tamam.

97
00:06:54,590 --> 00:06:58,340
‫Böylece Visual Studio kodu yeni sınıfımızla bizim için açıldı.

98
00:06:58,340 --> 00:07:01,700
‫H'yi temel aldık ve CP'yi temel aldık.

99
00:07:01,730 --> 00:07:08,180
‫Şimdi buradaki Explorer simgesine tıklayarak bu kenar çubuğunu kapatabilir ve V'nin kodunun bizim için ne

100
00:07:08,180 --> 00:07:09,890
‫ürettiğine bakabiliriz.

101
00:07:09,890 --> 00:07:16,880
‫Böylece varsayılan olarak sınıf kurucusunun yanı sıra üç fonksiyona sahip oluruz: başla, oynat, işaretle ve oyuncu giriş

102
00:07:16,880 --> 00:07:18,380
‫bileşenini ayarla.

103
00:07:18,410 --> 00:07:21,980
‫Şimdi Begin, Play'e aşina olmalı ve buradaki yorumları işaretlemelisiniz.

104
00:07:21,980 --> 00:07:23,300
‫Ne yaptıklarını açıklayın.

105
00:07:23,330 --> 00:07:28,790
‫Set up player input bileşeni piyonun aldığı bir şeydir ve bu fonksiyon bir klavye tuşu veya fare tıklaması gibi

106
00:07:28,790 --> 00:07:34,250
‫girdileri işlememizi sağlar ve bunun nasıl çalıştığı hakkında daha fazla bilgiyi gelecekteki baseband videolarında

107
00:07:34,250 --> 00:07:35,690
‫öğreneceğiz.

108
00:07:35,840 --> 00:07:42,740
‫CP Bu işlevler bizim için tanımlanmıştır, ancak oldukça yalındırlar ve gelecekteki videolarda da bu değişmeyecektir.

109
00:07:42,740 --> 00:07:49,370
‫Bu videoda ilk C++ sınıfımızı oluşturduk ve bir sonraki videoda bileşenleri ve yeni sınıfımıza neden bazılarını

110
00:07:49,370 --> 00:07:51,770
‫eklemek istediğimizi tartışacağız.

111
00:07:51,800 --> 00:07:52,790
‫Yakında görüşürüz.

