這兩個寫法,哪個較為優秀?

Home Home
引用 | 編輯 文♂
2013-08-01 17:12
樓主
推文 x0
寫法1:

複製程式
new const skill_sound[] = { "events/cong_slotin.wav", "events/powerup.wav" }

for (i = 0; i < sizeof skill_sound; i++)
       precache_sound(skill_sound[i])

engfunc(EngFunc_EmitSound, id, CHAN_BODY, skill_sound[0], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
engfunc(EngFunc_EmitSound, id, CHAN_BODY, skill_sound[1], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)

寫法2:
複製程式
new const skill_sound1[] = { "events/cong_slotin.wav" }
new const skill_sound2[] = { "events/powerup.wav" }

precache_sound(skill_sound1)
precache_sound(skill_sound2)

engfunc(EngFunc_EmitSound, id, CHAN_BODY, skill_sound1, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
engfunc(EngFunc_EmitSound, id, CHAN_BODY, skill_sound2, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)

兩個寫法是有分別的麼?
先感謝一下表情

獻花 x0
引用 | 編輯 弒血
2013-08-01 17:45
1樓
  
下面是引用 文♂ 於 2013-08-01 17:12 發表的 這兩個寫法,哪個較為優秀?: 到引言文
法1:
[code]new const skill_sound[] = { "events/cong_slotin.wav", "events/powerup.wav" }
for (i = 0; i < sizeof skill_sound; i++)
     precache_sound(skill_sound)
engfunc(EngFunc_EmitSound, id, CHAN_BODY, skill_sound[0], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
.......



寫法1
優點 比較好整理接下來的排放,以陣列為主


寫法2
優點 比較節省處理資源,以行段為主


建議: 其實都一樣,看個人使用為主。

獻花 x1
引用 | 編輯 文♂
2013-08-01 22:21
2樓
  
感謝S大大表情
還有一個小小的問題

選擇寫法2
比起寫法1快大約多少

【想把插件做到最優化,方便開伺服器】

實在萬分感激!!表情

獻花 x0
引用 | 編輯 弒血
2013-08-01 23:05
3樓
  
下面是引用 文♂ 於 2013-08-01 22:21 發表的 : 到引言文
感謝S大大表情
還有一個小小的問題

選擇寫法2
比起寫法1快大約多少

【想把插件做到最優化,方便開伺服器】

實在萬分感激!!表情



其實 我到是覺得 一樣


因為 a78大之前跟我說過


現在的電腦是感覺不出來的


除非 你寫的插件內容較大的話 才會有那絲毫的差異出來

獻花 x0
引用 | 編輯 a7811311622
2013-08-02 12:58
4樓
  
理論上…2比1快…但是這行數太少了…加快的時間對你根本沒感覺…
所以就如同上面所說…你爽就好…

硬要說明的話大概就是「依據需求」吧…
1適合用在 skill_sound 要拿來亂數用的或是讀取數量龐大用 for 一行解決…
2就相反…沒什麼亂數必要…

獻花 x0