日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > 程序開發的一點小總結

程序開發的一點小總結

來源:程序員人生   發布時間:2014-11-28 08:39:46 閱讀次數:3072次

程序開發的1點小總結, 給要學習1門新語言的朋友1些幫助, :P

1.多項條件下的處理

第1種方法: 每一個需要履行A函數的條件下都寫1邊A函數調用, 這類方式也是最中規中矩的寫法, 代碼相對臃腫, 如果A有任何變動, 就要修改多處, 這類代碼塊寫多了, 容易漏掉

if(b==1) a() else if(b==2) else if(b==3) a() else a()

第2種寫法: 在B條件挑選前, 創建1個臨變量布爾c, 用來監控需要A函數需要的條件, 需要就為true, 不需要就不寫(默許初始false), 這樣在條件結束后, 再對c進行判斷, 然落后行1次性處理A函數.

<span style="font-size:14px;">c=false if(b==1) c=true else if(b==2) else if(b==3) c=true else c=true if(c) a()</span>

第3種寫法: B條件自己去處理需要的挑選, 然后針對A再進行挑選1次, 不需要臨變量

<span style="font-size:14px;">swich(b) case 1: xxxxx case 2: yyyyy case 3: ddddd default: ffffff swich(b) case 1: case 3: default: a()</span><span style="font-size: 18px;"> </span>


(以上其實不討論if和switch的效力, 任何方案依照自己順手的來就好)


2.延遲函數

先看條件, 屢次觸發同1條件, 1般都來自多個對象對本對象的響應釀成的, 此時響應的次數多是已知的, 也多是未知的

對已知數目的做法: 在B條件下進行計數, 計數到達要求, 再激活A函數

<span style="font-size:14px;">int c=0; ... ... if(b==1){ c++ if(c>=3) a() }</span>

不過1般最好的方案就是延遲A的履行, 由于這類做法, 既不會頻繁的調用A, 也不會致使A響應過慢, 等1系列問題, 這類方法, 只需知道連續的序列激活條件的間隔最大時間就好, 1般這類響應要不就是相差1個步長, 要不就相差幾10毫秒, 相差1個步長很簡單, 延遲設置為0便可, 由于延遲函數本身就是創建后在下1個步長履行, 所以, 在比如連續的for循環里面直接設置延遲為0就ok, 固然在for這樣可控的函數, 還是盡可能不要做延遲的寫法 :P

<span style="font-size:14px;">if(b==1) delayDealFunc(A,delayTime)</span>

固然, A函數如果被延遲, 又會觸及到很多方面的問題, 比如:

a.調試的時候是完全沒法追溯的, 如果觸及延遲調用的地方比較多, 出了問題, 很大可能會致使調試的艱巨, 體現在斷點向上追溯只追溯到delay方法, 連調用delay的函數是甚么都很難肯定, 這也是語言比較弱的地方, 你只能搜索所有調用delay A函數的地方, 設置斷點來提早追蹤

b.延時函數其實不會引發線程級的問題, 畢竟還是同1個線程, 但是還是要謹慎, 在delay以后可能存在萬種可能, 乃至函數本身都不存在都有可能, 它存在很多不肯定性, 如果需要處理1些參數, 最好還是和delay函數1起托家帶口奔走吧


delay函數相當的實用, 我在這里其實不講具體delay怎樣實現, 代碼如何, 每種語言都有自己的延時函數, 大家自己去揣摩吧


3.周期履行函數

我覺得在接觸1個語言, 第1要熟習它的寫法如何打log, 第2就要知道周期履行函數這類有趣的設定, 它能實現很多很成心思的事情, 可讓參數動起來, 可讓圖形動起來, 可讓程序動起來, 總之就像程序的發動機1樣

周期履行函數, 有固定周期和可調周期兩種, 唯1區分是, 如果你使用了周期過于頻繁的沉重處理, 可能會累壞發動機, 全部效果就變得卡頓非常, 慘不忍睹了.


4.通知與事件

每種語言一樣有自己的通知處理方式, 不過我很喜歡使用obj-c中的這類NotificationCenter的履行方式, 雖然效力不高, 但是管理很集中, 而且通知間的耦合行最低, 在多模塊開發的時候, 這個最方便

在游戲開發中會有冒泡通知的方式, 比較局限, 不過相比nc效力高1些

效力最高的就是耦合性最高的直接對對象和指針的控制, 如果你這么處理太小項目, 還沒感到壓力, 那末你可以繼續使用了(汗), 推薦這類方式在內部, 局部, 本身之間耦合行就比較高的對象之間使用, 效力比較高


5.運動方式

很多時候, 我們能自己通過周期函數處理運動, 比如簡單的恒定運動. 但是大部份的效果表現, 還是交給專業的tween運動類來實現吧. 其實這類函數也很簡單, 就是我們中學學到的公式

in和out:1般運動函數都會混合in和out, 解釋1下, in為拉近運動, 數值上表現就是速度會愈來愈快, 加速為正, out為闊別運動, 數值上表現為速度愈來愈慢, 加速為負, 有些tween還支持inout1起的平滑曲線, 也就是開始慢, 結束也慢, 中間略快, 算是比較平滑的運動解決方案

linear:勻速運動, 最簡單的運動方式

sin:正弦運動, 可以選取不同的曲線產生out和in的效果

square:平方根, 其實就是y=x平方曲線, 衍生的還有3次根和4次根, 表現來就是曲線變化更加迅速

elastic: 彈性, 會在終點左右擺動, 最后停在終點

back:回旋, 在去往終點前先往反方向運動, 或再終點接近時是從反向逼近

bounce:彈跳的小球, 類似elastic, 只是不會到終點的另外一邊

exponential:指數, 依照指數曲線運動

基本上經常使用的有sineout, backout, backin


6.物理引擎

tween雖然能給你很多幫助, 但是如果需要真實的物體運動曲線, 和碰撞, tween是完全幫不了你的. 就需要神1樣存在的物理引擎


就寫這么多吧. :P





生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 免费a级毛片在线播放 | 最近中文字幕免费 | 操网站 | 中文字幕高清视频 | 三及毛片 | 亚洲激情视频在线播放 | 国产精品亚洲成在人线 | 亚洲一级免费视频 | 国产欧美精品一区二区色综合朱莉 | 国产福利电影 | 国产成人综合网 | 国产精品免费看 | 在线一区二区三区四区 | 国产高清第一页 | 伊人国产在线播放 | 天天操夜操视频 | 一区二区三区欧美在线 | 99热| 久一国产 | 国产精品久久久久久 | 成人激情视频 | 亚洲第1页 | 九九福利 | 国产精品一区二 | 不卡中文字幕 | 一级视频在线观看 | 麻豆精品一区二区 | 国产极品久久 | 久久91精品国产91久久跳 | 亚洲精品福利 | 91在线精品一区二区 | 91精品国产91久久综合桃花 | 91精品国产综合久久福利 | 高清国产一区二区三区四区五区 | 久久久久久国产精品免费 | 国产精品亚洲一区二区三区在线观看 | 国产一区福利 | 精品国产一区二区三区成人影院 | 国产一区久久 | 国产亚洲一区二区三区 | 一区二区三区在线视频免费观看 |