WEBVTT

1
00:00:00.240 --> 00:00:02.190
您好，歡迎來到藝術家腳本。

2
00:00:02.200 --> 00:00:05.730
我的名字是Sybren，今天我們將再次烘焙我的添加。

3
00:00:05.730 --> 00:00:08.119
這只是一個名為「自然答題器」的附加元件。

4
00:00:08.130 --> 00:00:12.570
我正在稍微改變一下格式，當時我只會烤一個成年人。

5
00:00:12.580 --> 00:00:14.840
這使得視頻有點短並且使得

6
00:00:14.840 --> 00:00:16.760
對我來說，生產工作少了一點，

7
00:00:16.770 --> 00:00:18.990
這意味著我將能夠繼續更長時間

8
00:00:18.990 --> 00:00:22.560
時間，因為它不會佔用我太多的攪拌機開發時間

9
00:00:22.740 --> 00:00:26.230
在推特上，所有貼文都寫道。我喜歡最後一個視頻。

10
00:00:26.240 --> 00:00:28.960
非常感謝您的舊帖子，因為我只是

11
00:00:28.960 --> 00:00:31.890
最近開始編碼，我真的可以使用良好的烘焙。

12
00:00:31.890 --> 00:00:33.360
好吧，沒關係。

13
00:00:33.360 --> 00:00:37.330
然後我上週發布了這個免費島嶼，它取代了隨機自然資產。

14
00:00:37.340 --> 00:00:41.360
每次點擊聽起來都很有用，讓我們來看看程式碼。

15
00:00:41.440 --> 00:00:43.650
我們希望有一個很好的描述

16
00:00:43.650 --> 00:00:46.260
免費的攪拌機插件用於隨機放置對象，

17
00:00:46.340 --> 00:00:48.960
您選擇您想要放置的資產，並且每次點擊期間

18
00:00:48.960 --> 00:00:53.010
模型中放置的隨機物件還具有更多功能。

19
00:00:53.010 --> 00:00:57.030
請參閱一分鐘的 YouTube 影片。所以這很好。有一個關於此的精彩視頻。

20
00:00:57.030 --> 00:00:59.660
我將在描述中鏈接它基本上是如何的

21
00:00:59.660 --> 00:01:02.090
工作原理是您進行點擊選擇，

22
00:01:02.090 --> 00:01:03.890
開始點擊然後你點擊周圍然後

23
00:01:03.890 --> 00:01:06.350
它將隨機資產放置在地平面上

24
00:01:06.620 --> 00:01:08.880
在一個影片中。我們來看一下程式碼。

25
00:01:09.240 --> 00:01:11.930
這只是一個文件。這樣事情就變簡單了。

26
00:01:12.010 --> 00:01:14.460
這真的很好，但是請確保您的

27
00:01:14.460 --> 00:01:17.100
行不會太長以至於你無法再閱讀它們。

28
00:01:17.110 --> 00:01:22.060
為了方便閱讀，我總是建議在常用符號後鍵入一個空格。

29
00:01:22.540 --> 00:01:25.930
同樣在英語中，我們的句子以大寫字母開頭。

30
00:01:25.940 --> 00:01:29.870
另外，如果您對程式碼有任何建議，請告訴我。

31
00:01:29.880 --> 00:01:35.240
嚴格來說我不能，因為帳單資訊中沒有聯絡資訊。

32
00:01:35.250 --> 00:01:36.250
這有點奇怪。

33
00:01:36.260 --> 00:01:40.060
有很多東西很重要，但尤其是向量被導入了兩次。

34
00:01:42.540 --> 00:01:48.560
呃，這裡有一個面板，當你像這樣放大時很難閱讀。

35
00:01:49.040 --> 00:01:53.660
然後我們的函數又很難閱讀，除非你縮小很多。

36
00:01:55.040 --> 00:01:58.960
然後還有課程和

37
00:01:59.740 --> 00:02:00.360
你也是，

38
00:02:00.840 --> 00:02:03.930
如果將一個 python 檔案分成多個部分。

39
00:02:03.930 --> 00:02:07.610
這通常意味著您實際上想要擁有多個 python 檔案。

40
00:02:07.620 --> 00:02:09.300
我知道我們已經很久沒有討論過這個銘文了

41
00:02:09.300 --> 00:02:11.550
成年人所以我真的不能為此烤。

42
00:02:11.560 --> 00:02:12.330
然而，

43
00:02:12.330 --> 00:02:17.660
我建議永遠不要使用「故事助手」之類的名字。

44
00:02:17.840 --> 00:02:20.080
我的意思是 UTIL 和 UTIL 之間有什麼區別

45
00:02:20.080 --> 00:02:22.440
一個函數，其中的東西可以命名某些東西

46
00:02:22.440 --> 00:02:24.790
通常使用一個指示，表明您還沒有真正

47
00:02:24.790 --> 00:02:27.350
想了想，然後就一起做事

48
00:02:27.640 --> 00:02:30.310
在本例中，它只是一個名為「設定」的類別。

49
00:02:30.310 --> 00:02:33.000
那麼為什麼不將其命名為“settings”呢？

50
00:02:33.000 --> 00:02:36.030
其餘只是用於註冊和取消註冊的常規攪拌機內容

51
00:02:36.260 --> 00:02:40.790
是的，我知道還需要引導你的尾巴，不，我對此也不滿意。

52
00:02:40.800 --> 00:02:42.710
讓我們回到最上面的決賽是否

53
00:02:42.710 --> 00:02:45.550
面板已經找到了，而且命名有點奇怪。

54
00:02:45.640 --> 00:02:48.520
它叫做 Clicker pT 面板，我猜是 Clicker

55
00:02:48.520 --> 00:02:51.460
是類別，然後是 pT 中心面板類型

56
00:02:51.640 --> 00:02:55.850
然後再次識別他的面板，看起來有點雙重

57
00:02:55.850 --> 00:02:59.310
其他面板上的名字前面到處都有一個場景。

58
00:02:59.320 --> 00:03:03.920
所以我想這聽起來像是點擊器，但這意味著該類別突然變成了

59
00:03:03.920 --> 00:03:06.390
不再屬於這個類別，它們仍然令人印象深刻

60
00:03:06.390 --> 00:03:09.570
這個名字所以我會說將它們命名為唱首歌。

61
00:03:09.570 --> 00:03:13.560
Pt 然後無論在這種情況下面板的增長情況如何

62
00:03:13.740 --> 00:03:17.780
開始按鈕，因為它只需要開始點擊您可以在此處使用的按鈕

63
00:03:17.790 --> 00:03:21.970
Petey 和得分場地，因為它具有地面等設置。

64
00:03:21.980 --> 00:03:24.030
我在這裡注意到的另一件事是

65
00:03:24.030 --> 00:03:26.310
程式碼的佈局並不是真正一致。

66
00:03:26.430 --> 00:03:28.190
有時空間是相等的。

67
00:03:28.190 --> 00:03:30.860
有時等號前面沒有空格

68
00:03:31.040 --> 00:03:33.810
所以我建議你建立態度

69
00:03:33.810 --> 00:03:35.870
儲存時使用自動格式化。

70
00:03:35.880 --> 00:03:37.360
我將展示它是什麼樣子的。

71
00:03:38.140 --> 00:03:42.150
這裡我們是我的編輯器、Visual Studio 程式碼並且設定了不安全的格式。

72
00:03:42.150 --> 00:03:47.290
您只需按控制逗號並選取此核取方塊格式不安全即可。

73
00:03:47.300 --> 00:03:50.460
我們來看一下。我保存了文件，你可以看看它在做什麼

74
00:03:51.140 --> 00:03:54.810
正如你所看到的，它移動了一點。它有各種各樣的小變化。

75
00:03:54.820 --> 00:03:57.140
評論後面有一個空格，

76
00:03:57.150 --> 00:03:59.770
該列前面沒有空格，而且

77
00:03:59.770 --> 00:04:01.940
這裡的作業都是以同樣的方式完成的，

78
00:04:01.950 --> 00:04:02.440
自動化。

79
00:04:02.440 --> 00:04:04.710
這意味著你不必考慮它然後

80
00:04:04.720 --> 00:04:07.060
它確實有效，而且會讓你忘記它。

81
00:04:07.440 --> 00:04:09.960
乾淨的程式碼總是好的，因為你絕對

82
00:04:09.960 --> 00:04:12.150
閱讀程式碼的次數多於編寫程式碼的次數。

83
00:04:12.150 --> 00:04:15.910
所以，照顧好你打電話的內容是乾淨的，而且讀起來很舒服，這是非常、

84
00:04:15.910 --> 00:04:18.860
對於任何級別的開發人員都非常重要。

85
00:04:19.440 --> 00:04:21.100
無論如何，既然我們是我的編輯，

86
00:04:21.100 --> 00:04:24.700
讓我們來看看我肯定會在這裡做的改進。

87
00:04:24.710 --> 00:04:27.880
正如您所看到的，這段程式碼有很多重複之處。

88
00:04:27.940 --> 00:04:32.870
這部分也在此處、下一個面板和下一個面板中重複

89
00:04:32.880 --> 00:04:36.890
將所有這些程式碼放入一個位置，然後在所有其他面板中使用它。

90
00:04:36.890 --> 00:04:40.760
我們可以創建所謂的混合類別。我會告訴你那是什麼樣子的。

91
00:04:43.340 --> 00:04:45.650
所以我只是創建一個名為答題器面板的類

92
00:04:45.650 --> 00:04:47.670
這將包含所有共同資訊。

93
00:04:50.140 --> 00:04:50.340
是的。

94
00:04:51.140 --> 00:04:53.940
然後我們可以將其用作混合類別。

95
00:04:54.840 --> 00:04:55.160
是的。

96
00:04:56.040 --> 00:05:00.270
所以這裡發生的情況是，如果攪拌機試圖找到點擊器的帳單類別。

97
00:05:00.270 --> 00:05:03.660
Pt面板，它無法在面板本身上找到它。

98
00:05:03.670 --> 00:05:07.400
然後 python 將開始按順序詢問父級，這樣它就會

99
00:05:07.400 --> 00:05:10.950
轉到答題器面板，它會詢問他們是否知道帳單類別

100
00:05:11.340 --> 00:05:12.470
在這種情況下確實如此。

101
00:05:12.470 --> 00:05:17.160
搜尋到此結束，然後找到 Clicker 作為該屬性的值。

102
00:05:17.260 --> 00:05:19.260
我們現在可以在每個面板上執行此操作。

103
00:05:20.740 --> 00:05:20.940
是的，

104
00:05:22.440 --> 00:05:22.650
好的。

105
00:05:23.240 --> 00:05:24.560
並刪除那些，

106
00:05:25.540 --> 00:05:27.360
把混合類放在那裡

107
00:05:27.940 --> 00:05:28.960
關於那些

108
00:05:29.540 --> 00:05:30.110
mixing

109
00:05:30.300 --> 00:05:31.250
現在我們就到了。

110
00:05:31.740 --> 00:05:34.210
所以這已經減少了相當多的程式碼。

111
00:05:34.220 --> 00:05:36.800
如果我們想更改該類別類型，

112
00:05:36.810 --> 00:05:38.830
沒有一個地方對此進行了定義。

113
00:05:38.840 --> 00:05:40.770
這是乾淨程式碼的另一個方面。

114
00:05:40.780 --> 00:05:44.620
應該只有一小段程式碼負責一件事。

115
00:05:44.630 --> 00:05:47.310
關於面板就這麼多了。讓我們來看看這些函數。

116
00:05:47.320 --> 00:05:49.970
有一個函數加入集合，移動對象，

117
00:05:49.980 --> 00:05:52.690
這已經很奇怪了，因為它被添加到

118
00:05:52.690 --> 00:05:54.990
一個集合或它被移動到一個集合？

119
00:05:54.990 --> 00:05:58.460
函數名稱是一回事。參數名稱有不同的東西。

120
00:05:58.640 --> 00:06:01.430
這有點奇怪，檢查一下答題器集合。

121
00:06:01.430 --> 00:06:01.900
出色地，

122
00:06:01.910 --> 00:06:05.050
Capitals 檢查答題器集合是否存在

123
00:06:05.060 --> 00:06:07.130
並將物件移到該集合中。

124
00:06:07.140 --> 00:06:09.400
所以這是做兩件事，

125
00:06:09.400 --> 00:06:13.300
對於僅在程式碼中使用函數的情況來說，這通常不是一個好主意。

126
00:06:13.300 --> 00:06:13.630
當你

127
00:06:13.740 --> 00:06:16.280
檢查複選框 FB 部分聯絡人說好，

128
00:06:16.290 --> 00:06:18.450
我必須阻止你，這是以前從未有過的

129
00:06:18.450 --> 00:06:21.170
除非你真的必須這樣做，否則它是上下文的一部分。

130
00:06:21.180 --> 00:06:23.620
我猜這個函數會被調用

131
00:06:23.620 --> 00:06:27.210
一個運算符，該運算符從攪拌機獲取上下文。

132
00:06:27.280 --> 00:06:29.900
所有後續代碼都應該使用它

133
00:06:29.900 --> 00:06:32.730
上下文而不是在這裡使用全域上下文。

134
00:06:32.730 --> 00:06:35.250
我將向您展示一個例子來說明為什麼會這樣

135
00:06:35.530 --> 00:06:38.520
每個操作員都可以有自己的上下文，但事實並非如此

136
00:06:38.520 --> 00:06:40.610
必須與全局上下文相同。

137
00:06:40.620 --> 00:06:41.640
例如，

138
00:06:41.640 --> 00:06:45.190
這裡有一個引腳可以讓我在這個物件中

139
00:06:45.190 --> 00:06:49.180
屬性標籤將選項卡固定到 Suzanne 目前活動物件。

140
00:06:49.190 --> 00:06:51.720
現在如果我將活動物件更改為立方體，

141
00:06:51.730 --> 00:06:54.260
您可以看到該面板仍然顯示 Suzanne。

142
00:06:54.290 --> 00:06:58.880
這也是上下文物件和活動物件上下文之間的區別。

143
00:06:58.890 --> 00:07:02.200
這裡的這個按鈕是一個操作符，對於這個操作符

144
00:07:02.220 --> 00:07:05.140
物件的上下文將是固定物件的 Suzanne。

145
00:07:05.150 --> 00:07:08.060
而對於從此處的選單調用的操作員，

146
00:07:08.140 --> 00:07:09.680
它沒有那個對象引腳。

147
00:07:09.680 --> 00:07:14.540
所以他們的上下文物件其實是立方體。注意兩種情況下的接觸。

148
00:07:14.550 --> 00:07:17.890
活動對象仍然是活動對象，它是一個立方體。

149
00:07:17.900 --> 00:07:19.580
這是營運商的方式之一

150
00:07:19.580 --> 00:07:22.260
可以獲得與全域上下文不同的上下文。

151
00:07:22.270 --> 00:07:26.160
因此，只需使用給定的上下文即可，不要總是使用全局上下文。

152
00:07:26.340 --> 00:07:28.360
這一行還有更多內容

153
00:07:28.540 --> 00:07:31.490
在 if 語句中與 True 進行比較是不必要的

154
00:07:31.490 --> 00:07:34.060
因為 if 語句已經與 True 進行了比較。

155
00:07:34.070 --> 00:07:36.660
所以你只是有效地加倍了它的工作。

156
00:07:37.140 --> 00:07:40.530
只有當美國選中該複選框時，下議院才會運行該程式碼。

157
00:07:40.530 --> 00:07:44.360
這意味著如果它不返回這裡，一定有其他的，對嗎？

158
00:07:45.340 --> 00:07:45.850
哦

159
00:07:46.340 --> 00:07:47.560
不，沒有

160
00:07:48.440 --> 00:07:49.250
早點回來，

161
00:07:49.640 --> 00:07:52.900
如果沒有的話，翻轉你的條件早點回來。

162
00:07:53.000 --> 00:07:54.950
是的。是的 yada 確實點擊收藏

163
00:07:55.340 --> 00:07:56.120
返回。

164
00:07:56.310 --> 00:07:59.860
這意味著所有這些程式碼都可以一步取消縮排

165
00:08:00.240 --> 00:08:01.990
這意味著你可以解放你的大腦。

166
00:08:01.990 --> 00:08:04.750
不用看最後有沒有else

167
00:08:04.760 --> 00:08:08.900
該函數或在未選取該複選框時它是否不執行任何操作。

168
00:08:08.970 --> 00:08:12.830
我認為釋放你的大腦是編碼中最重要的部分。

169
00:08:13.040 --> 00:08:14.370
別再讓自己困惑了。

170
00:08:14.370 --> 00:08:17.690
函數名稱說明了一件事，參數名稱說明了另一件事。

171
00:08:18.000 --> 00:08:23.260
這裡的評論說的是不同的事情，然後有一個如果你想的話

172
00:08:23.260 --> 00:08:27.360
明白了，你必須一直滾動到底部才能看到沒有其他的

173
00:08:27.640 --> 00:08:30.060
現在在下一行中將名為名稱的集合設定為

174
00:08:30.060 --> 00:08:32.710
如果集合尚不存在，則將建立該集合。

175
00:08:32.720 --> 00:08:35.580
我認為將此名稱放入變數中是個好主意。

176
00:08:35.580 --> 00:08:37.480
但這不是這樣做的地方。

177
00:08:37.490 --> 00:08:40.980
這個函數將一個物件移動到集合中，所以我不期望

178
00:08:40.980 --> 00:08:45.750
此函數是負責命名該集合的程式碼位

179
00:08:45.790 --> 00:08:49.030
只需將其移至全域變數下一步就是嘗試 except

180
00:08:49.040 --> 00:08:52.460
如果集合尚不存在或已創建，則取得該集合，

181
00:08:52.630 --> 00:08:53.420
這是一個很大的不，

182
00:08:53.420 --> 00:08:56.400
永遠不要使用裸露，除了捕捉任何異常

183
00:08:56.400 --> 00:08:58.450
想要在這種情況下捕獲它是一個關鍵錯誤

184
00:08:58.840 --> 00:08:59.930
無一例外。

185
00:08:59.930 --> 00:09:01.090
except類別的後面，

186
00:09:01.090 --> 00:09:04.040
你會捕捉到每一個異常

187
00:09:04.040 --> 00:09:06.500
不僅僅是從技術角度來看。

188
00:09:06.500 --> 00:09:10.040
此處給出異常的實際名稱是錯誤的

189
00:09:10.040 --> 00:09:14.090
當你稍後閱讀它時，你期望她再次釋放你的大腦。

190
00:09:14.090 --> 00:09:17.860
你清楚知道你當時在想什麼，無論你期待什麼

191
00:09:18.240 --> 00:09:19.830
然後繼續下一段程式碼。

192
00:09:19.830 --> 00:09:23.260
這是一個循環，從它所在的所有集合中刪除該對象

193
00:09:23.270 --> 00:09:27.530
然後新增到一個特定的集合，即剛剛建立的集合。

194
00:09:27.540 --> 00:09:33.420
然而，它是以一種非常間接、奇怪的方式完成的：O b J 被分配了要移動的物件。

195
00:09:33.430 --> 00:09:35.880
嗯，所以我猜你的隊伍太長了。

196
00:09:35.890 --> 00:09:37.560
有一種不同的處理方法。

197
00:09:37.840 --> 00:09:41.000
那麼舊的集合就是一個空列表，永遠不會再使用。

198
00:09:41.140 --> 00:09:44.300
然後使用 for 迴圈遍歷物件用戶

199
00:09:44.300 --> 00:09:48.220
集合，同時它也操作其中的物件集合。

200
00:09:48.220 --> 00:09:51.820
所以你處於循環之中，你正在操縱你正在查看的任何東西，

201
00:09:51.820 --> 00:09:53.560
這也是一個壞主意。

202
00:09:54.040 --> 00:09:56.460
那麼讓我們看看如何改進這一點。

203
00:09:57.340 --> 00:10:00.360
讓我們快速瀏覽一下這段程式碼，看看我們可以改進什麼。

204
00:10:00.840 --> 00:10:03.240
我從內在開始，然後向外移動。

205
00:10:03.250 --> 00:10:06.940
部分資料集合集合點名稱非常間接

206
00:10:06.940 --> 00:10:10.170
取得集合的方式集合已經是集合了。

207
00:10:10.180 --> 00:10:15.690
因此，要獲取它的名稱，然後找到我的名字來獲取該集合，這有點奇怪。

208
00:10:15.700 --> 00:10:19.050
而且它可能不會按照您想像的方式工作

209
00:10:19.640 --> 00:10:20.180
也.

210
00:10:20.180 --> 00:10:25.540
現在，不必這樣做，然後再聯繫所見的集合。

211
00:10:25.540 --> 00:10:29.670
如果它可能在那裡，我們都可以將其刪除，因為我們已經擁有了該集合。

212
00:10:29.670 --> 00:10:31.590
所以沒有什麼好失敗的。

213
00:10:31.600 --> 00:10:35.120
我們循環遍歷集合的第二個問題

214
00:10:35.120 --> 00:10:37.360
並同時更改集合。

215
00:10:37.440 --> 00:10:39.750
您只需建立此清單的副本即可。

216
00:10:39.940 --> 00:10:42.890
所以你可以用這種表示法來這樣做。

217
00:10:42.890 --> 00:10:47.690
我可以做類似從兩個到但不包括索引號五的事情。

218
00:10:47.700 --> 00:10:51.440
您可以刪除第一個索引以指示從清單的開頭開始，然後

219
00:10:51.440 --> 00:10:54.450
您可以刪除最後一個索引，直到清單末端。

220
00:10:54.460 --> 00:10:56.990
所以這需要整個清單的副本。

221
00:10:57.000 --> 00:10:59.220
所以現在我們保存了副本，我們可以刪除

222
00:10:59.230 --> 00:11:01.280
現在我們的隊伍短得多。

223
00:11:01.280 --> 00:11:04.350
我們可以使用物體再次移動。

224
00:11:04.350 --> 00:11:08.250
我們有一個奇怪的事情，就是取集合名稱

225
00:11:08.340 --> 00:11:11.930
然後尋找屬於該名稱的集合。

226
00:11:11.940 --> 00:11:14.560
而我們已經在這裡收集了。

227
00:11:15.440 --> 00:11:18.180
現在我們在這裡獲取集合有一個問題，

228
00:11:18.180 --> 00:11:20.100
然後我們再次使用集合名稱。

229
00:11:20.110 --> 00:11:23.590
然後當然我們就不再擁有原來的了

230
00:11:23.590 --> 00:11:26.260
集合，因為今天變數的名稱相同。

231
00:11:26.270 --> 00:11:29.260
所以我們在這裡可以做的就是，例如，命名它

232
00:11:29.640 --> 00:11:33.160
點擊或呼叫以表明這是答題器集合，

233
00:11:33.940 --> 00:11:36.200
這裡也這樣做，在這裡也這樣做。

234
00:11:36.200 --> 00:11:38.790
然後你可以只說點擊器呼叫來代替這個

235
00:11:38.790 --> 00:11:42.400
對象點鏈接，這對個人來說要簡單得多，

236
00:11:42.400 --> 00:11:48.630
我會更進一步，將這個和那個程式碼移到兩個單獨的函數中。

237
00:11:48.640 --> 00:11:50.370
第一段程式碼就得到了

238
00:11:50.370 --> 00:11:53.650
該特定集合確保其現有

239
00:11:53.840 --> 00:11:57.290
這段程式碼取消了物件與它所在的所有集合的連結。

240
00:11:57.300 --> 00:12:00.560
所以這與上面的程式碼完全分開。

241
00:12:00.720 --> 00:12:03.220
這意味著它可能具有不同的功能。

242
00:12:03.230 --> 00:12:07.120
下一個函數稱為選擇物件並取得 self 作為參數。

243
00:12:07.150 --> 00:12:10.110
我對此非常懷疑，因為這基本上

244
00:12:10.110 --> 00:12:12.810
意味著它只得到 self 並且它

245
00:12:12.810 --> 00:12:17.660
這很可能應該是 self 所指向的類別的一部分。

246
00:12:18.640 --> 00:12:20.350
那我們就來看看它用在什麼地方。

247
00:12:21.040 --> 00:12:21.960
是的，

248
00:12:22.440 --> 00:12:22.990
是的，

249
00:12:22.990 --> 00:12:26.390
這是點擊操作符模型函數

250
00:12:26.400 --> 00:12:30.370
規模龐大，造成選擇對象和受害

251
00:12:30.470 --> 00:12:35.470
並傳遞自我。這意味著它確實應該是操作員的一部分。

252
00:12:35.470 --> 00:12:40.460
所以只是由課堂上的一層毯子發明的

253
00:12:40.640 --> 00:12:44.360
你可以呼叫 self 點選擇物件和 selfhood 隨機化

254
00:12:44.540 --> 00:12:47.060
然後程式碼所屬的內容就更清楚了。

255
00:12:47.640 --> 00:12:50.660
除了我已經說過的之外，我認為這段程式碼很好。

256
00:12:50.670 --> 00:12:55.160
嗯，隨機化函數又有點奇怪了。嗯

257
00:12:55.740 --> 00:12:57.690
獲得隨機的正值或負值。

258
00:12:57.700 --> 00:13:01.930
好吧，你已經表明你知道隨機選擇，這基本上是隨機的。

259
00:13:01.930 --> 00:13:04.560
選擇一或-1。

260
00:13:05.340 --> 00:13:05.960
但

261
00:13:06.840 --> 00:13:11.160
這個公式以及它的使用地點有點奇怪。

262
00:13:11.540 --> 00:13:16.120
另外，我會避免重複，嘟嘟的眼神接觸，一直看到答題器。

263
00:13:16.120 --> 00:13:19.070
正確的答題器是嘟嘟的眼神接觸看到的答題器，甚至更好。

264
00:13:19.070 --> 00:13:23.450
您傳遞給此函數的上下文似乎不是點擊器。嗯

265
00:13:23.940 --> 00:13:28.360
但除此之外，你隨機取一個，然後將其轉換為加號或減號。

266
00:13:28.360 --> 00:13:32.590
但這裡有一個 0 到 10 之間的隨機整數。

267
00:13:32.600 --> 00:13:38.660
將其除以 10，得到一個介於 0 和 1 之間的 0

268
00:13:39.140 --> 00:13:44.940
但只能以 1/10 為步長。然後將其乘以正數或負數。

269
00:13:44.950 --> 00:13:47.090
但你也可以添加一個。

270
00:13:47.100 --> 00:13:53.360
所以現在突然之間就是一加減一乘以隨機數。

271
00:13:53.440 --> 00:13:56.130
對於你到底需要什麼，它變得非常狡猾。

272
00:13:56.130 --> 00:14:00.400
我認為更合適的是使用隨機的黑色制服，然後就可以了

273
00:14:00.400 --> 00:14:03.770
給出您想要得到的隨機數的最小值和最大值。

274
00:14:03.770 --> 00:14:07.350
例如隨機均勻減去一個逗號一將

275
00:14:07.350 --> 00:14:09.360
只要給你一個該範圍內的隨機數

276
00:14:09.740 --> 00:14:14.620
在這裡，您使用運算符來調整大小和旋轉，我永遠不會這樣做。

277
00:14:14.620 --> 00:14:19.800
只需將比例或旋轉與給定值相乘即可

278
00:14:19.800 --> 00:14:23.660
而且更容易閱讀，執行起來也更快。

279
00:14:24.440 --> 00:14:26.580
最後一件事我覺得有點奇怪

280
00:14:26.590 --> 00:14:30.310
是它對選取的單數物件進行操作。

281
00:14:30.320 --> 00:14:35.840
如果我沒記錯你的視頻，每次你點擊該物件都是隨機的。

282
00:14:35.850 --> 00:14:39.050
所以這其實隨機化了一個非常具體的物件。

283
00:14:39.050 --> 00:14:41.360
所以將那個物件傳遞給這個函數

284
00:14:41.540 --> 00:14:44.260
然後操縱其點的縮放或位置。

285
00:14:44.260 --> 00:14:45.090
那個旋轉，

286
00:14:45.090 --> 00:14:47.220
無論你想操縱它

287
00:14:47.220 --> 00:14:49.240
編碼的立場也讓事情變得更容易，因為

288
00:14:49.240 --> 00:14:51.390
很明顯，這個函數運行在

289
00:14:51.390 --> 00:14:53.450
它從顏色接收的物件。

290
00:14:54.140 --> 00:14:56.920
讓我們快速瀏覽一下答題器操作符，因為

291
00:14:56.920 --> 00:14:59.630
基本上是附加元件的核心之一。

292
00:14:59.630 --> 00:15:01.230
該模型函數太長了。

293
00:15:01.240 --> 00:15:04.400
我認為所有帖子都同意我的觀點，因為這裡有一些文檔

294
00:15:04.400 --> 00:15:07.270
與函數頂部的樣式相同

295
00:15:07.380 --> 00:15:09.350
只不過這裡不在函數裡。

296
00:15:09.470 --> 00:15:12.260
所以把它放在一個函數中，分割你的程式碼

297
00:15:12.440 --> 00:15:16.060
因為它讓一切變得更容易理解

298
00:15:16.240 --> 00:15:16.460
是的，

299
00:15:17.040 --> 00:15:20.660
否則你就會得到這種東西。看看有沒有飛機

300
00:15:21.240 --> 00:15:21.960
如果它

301
00:15:22.540 --> 00:15:24.360
如果答題器線為真。

302
00:15:24.840 --> 00:15:25.460
所以

303
00:15:26.240 --> 00:15:30.370
何時執行將程式碼精確地放入單獨的函數中。

304
00:15:30.370 --> 00:15:32.970
不僅讓大家更容易理解，

305
00:15:32.980 --> 00:15:36.110
而且它也迫使你為該函數命名，

306
00:15:36.110 --> 00:15:39.240
它迫使您為該功能編寫一些文件。

307
00:15:39.250 --> 00:15:41.450
好吧，這不會強迫你，但他無論如何都應該這樣做。

308
00:15:41.740 --> 00:15:44.510
嗯，一旦你開始做某件事

309
00:15:44.510 --> 00:15:47.050
該函數並不真正遵循該名稱。

310
00:15:47.270 --> 00:15:49.980
這表明您可能在那裡做錯了事情。

311
00:15:49.980 --> 00:15:52.240
也許這應該放在單獨的程式碼中

312
00:15:52.550 --> 00:15:55.250
它也確實可以幫助你理順你的想法。

313
00:15:55.260 --> 00:15:59.360
例如，您可以將其放入一個名為 line 的函數中

314
00:15:59.360 --> 00:16:03.490
與地平面或放置在地平面上或任何它正在做的事情。

315
00:16:03.570 --> 00:16:07.450
當然，如果不是直接返回，您也可以立即返回那裡

316
00:16:07.640 --> 00:16:12.760
然後其他一切都將成為發明。你明白我的意思

317
00:16:13.340 --> 00:16:14.320
在接下來的引用中，

318
00:16:14.320 --> 00:16:18.460
我們可以處理輸入函數來選擇另一個隨機物件。

319
00:16:18.470 --> 00:16:20.340
這跳過了一堆圈子。

320
00:16:20.350 --> 00:16:23.360
最重要的是要嘗試並確保

321
00:16:23.360 --> 00:16:26.090
它實際上選擇了一個不同的隨機物件。

322
00:16:26.100 --> 00:16:30.410
那麼這裡發生的情況是程式碼試圖刪除任何主題嗎？

323
00:16:30.410 --> 00:16:32.660
我以為01點太早或太

324
00:16:33.040 --> 00:16:35.560
嘗試從名稱中刪除它，然後進行比較

325
00:16:35.560 --> 00:16:38.250
到新選擇的物件以查看它們是否不同。

326
00:16:38.260 --> 00:16:44.240
好吧，但是如果我已經選擇了名為 3.1 等的物件怎麼辦？

327
00:16:44.250 --> 00:16:46.530
然後突然就出了問題。

328
00:16:46.540 --> 00:16:51.850
相反，我在這裡要做的不是使用隨機選擇來選擇隨機對象

329
00:16:52.140 --> 00:16:56.300
但隨機點租金範圍來選擇隨機物件索引。

330
00:16:56.310 --> 00:16:59.150
然後，如果您還記得您使用的最後一個索引

331
00:16:59.160 --> 00:17:01.440
您可以將各個行業進行相互比較

332
00:17:01.440 --> 00:17:04.010
然後繼續選擇一個隨機索引，直到你有

333
00:17:04.010 --> 00:17:06.460
與之前使用的索引不同。

334
00:17:06.470 --> 00:17:07.470
這可以讓你免於很多

335
00:17:07.470 --> 00:17:10.460
比較字串和操作字串的頭痛

336
00:17:10.460 --> 00:17:12.849
使比較有效，因為

337
00:17:12.849 --> 00:17:15.270
在概念上符合您想做的事情。

338
00:17:15.740 --> 00:17:19.410
然後，如果上下文區域類型為三個，我們就有呼叫函數

339
00:17:19.410 --> 00:17:23.450
D 做某事然後一直在底部有 CLS

340
00:17:24.440 --> 00:17:26.800
只要翻轉條件，翻轉你的條件，

341
00:17:26.810 --> 00:17:29.810
將所有這些和那個一直移動到頂部。

342
00:17:29.810 --> 00:17:33.560
然後你就可以取消其餘的程式碼了。這又是為什麼呢？

343
00:17:33.560 --> 00:17:36.770
當你在這裡獲得上下文時，為什麼要使用上下文的部分，

344
00:17:37.440 --> 00:17:40.200
恰到好處的上下文選擇的對像是同一件事

345
00:17:40.200 --> 00:17:42.590
但這樣就正確了，而且打字也少了。

346
00:17:42.600 --> 00:17:46.870
現在看看我們剩下的程式碼的結構，如果我們還有另一個程式碼

347
00:17:46.870 --> 00:17:49.350
有另一個塊來測試一些東西然後在這裡

348
00:17:49.350 --> 00:17:52.050
我們再次有一個測試一些東西的塊。

349
00:17:52.060 --> 00:17:58.940
因此，如果感覺上下文區域類型不合適，只需翻轉您的喜歡即可翻轉您的條件

350
00:17:58.940 --> 00:18:06.770
真正知道是否否如果不是部分選定物件返回如果出錯返回如果

351
00:18:07.140 --> 00:18:12.860
len 選取的物件是一個且該物件是一個清晰的表面返回

352
00:18:12.870 --> 00:18:16.650
它們都可以放在同一水平線上。

353
00:18:16.660 --> 00:18:20.930
現在你擁有的是一個向三個不同方向增長的程式碼。

354
00:18:20.940 --> 00:18:24.860
讓我告訴你我的意思，假設你有一些功能

355
00:18:25.040 --> 00:18:27.770
這需要一些參數

356
00:18:28.040 --> 00:18:32.360
然後它做它的主要事情，就像它必須做的事情一樣，

357
00:18:33.140 --> 00:18:35.470
讓我們用 A B M. C 來稱呼它。

358
00:18:35.480 --> 00:18:38.120
就像我們剛剛看到的這段程式碼的製作方式一樣

359
00:18:38.130 --> 00:18:40.840
如果我們想對 A 和 B 進行一些錯誤檢查。

360
00:18:40.840 --> 00:18:43.780
N.C. 觀察事情會發生什麼事。

361
00:18:43.790 --> 00:18:49.200
因此，如果呃 A 適合 a，那麼事情就會轉移。

362
00:18:49.200 --> 00:18:51.670
現在我們上面已經有一些程式碼了。

363
00:18:51.840 --> 00:18:53.670
它移到了右邊

364
00:18:53.840 --> 00:18:54.770
進而

365
00:18:55.440 --> 00:19:00.620
和/或錯誤 A。 所以現在我們得到的是我們在上面有一些程式碼。

366
00:19:00.630 --> 00:19:05.540
我們在它下面有一些程式碼。而主程式碼實際上發明了一層。

367
00:19:05.550 --> 00:19:08.880
現在，如果您在 B 上添加另一張支票，那麼我們再次

368
00:19:08.880 --> 00:19:11.510
必須再次把東西移到那個方向，我們有一些錯誤

369
00:19:11.510 --> 00:19:15.200
在這裡處理程式碼，如果你想這樣做的話

370
00:19:15.210 --> 00:19:19.050
它再次同時向三個方向移動。

371
00:19:19.340 --> 00:19:22.470
而如果你翻轉你的條件，當你得到的是這樣的

372
00:19:22.790 --> 00:19:29.210
如果不是 A. 可以處理退貨嗎，現在我可以複製貼上這個

373
00:19:30.420 --> 00:19:33.050
我說如果不是也沒關係，處理永遠

374
00:19:33.740 --> 00:19:39.710
然後回來，如果沒有，她就可以預見，你會看到

375
00:19:39.870 --> 00:19:42.670
那東西現在去哪了？出色地

376
00:19:43.040 --> 00:19:47.590
事情仍然在原處，就像剛剛推送的每個錯誤檢查一樣

377
00:19:47.590 --> 00:19:51.610
它向下，但你只能向一個方向生長，而不是三個方向。

378
00:19:51.620 --> 00:19:54.490
這就是本集藝術家腳本的內容，

379
00:19:54.500 --> 00:19:56.360
我嘗試保留該視頻，但一定要

380
00:19:56.360 --> 00:19:59.640
雖然失敗了，但我認為這仍然很有趣。

381
00:19:59.650 --> 00:20:01.570
我希望您學到了一些關於如何

382
00:20:01.570 --> 00:20:04.200
改進你的程式碼，這樣你就可以解放你的大腦

383
00:20:04.200 --> 00:20:07.160
如果您有任何問題或意見，請避免過度油炸

384
00:20:07.160 --> 00:20:09.460
把它們留在下面，我很快就會見到你。



