多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > 互聯(lián)網(wǎng) > 程序開發(fā)的一點(diǎn)小總結(jié)

程序開發(fā)的一點(diǎn)小總結(jié)

來(lái)源:程序員人生   發(fā)布時(shí)間:2014-11-28 08:39:46 閱讀次數(shù):3067次

程序開發(fā)的1點(diǎn)小總結(jié), 給要學(xué)習(xí)1門新語(yǔ)言的朋友1些幫助, :P

1.多項(xiàng)條件下的處理

第1種方法: 每一個(gè)需要履行A函數(shù)的條件下都寫1邊A函數(shù)調(diào)用, 這類方式也是最中規(guī)中矩的寫法, 代碼相對(duì)臃腫, 如果A有任何變動(dòng), 就要修改多處, 這類代碼塊寫多了, 容易漏掉

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

第2種寫法: 在B條件挑選前, 創(chuàng)建1個(gè)臨變量布爾c, 用來(lái)監(jiān)控需要A函數(shù)需要的條件, 需要就為true, 不需要就不寫(默許初始false), 這樣在條件結(jié)束后, 再對(duì)c進(jìn)行判斷, 然落后行1次性處理A函數(shù).

<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條件自己去處理需要的挑選, 然后針對(duì)A再進(jìn)行挑選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>


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


2.延遲函數(shù)

先看條件, 屢次觸發(fā)同1條件, 1般都來(lái)自多個(gè)對(duì)象對(duì)本對(duì)象的響應(yīng)釀成的, 此時(shí)響應(yīng)的次數(shù)多是已知的, 也多是未知的

對(duì)已知數(shù)目的做法: 在B條件下進(jìn)行計(jì)數(shù), 計(jì)數(shù)到達(dá)要求, 再激活A(yù)函數(shù)

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

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

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

固然, A函數(shù)如果被延遲, 又會(huì)觸及到很多方面的問(wèn)題, 比如:

a.調(diào)試的時(shí)候是完全沒(méi)法追溯的, 如果觸及延遲調(diào)用的地方比較多, 出了問(wèn)題, 很大可能會(huì)致使調(diào)試的艱巨, 體現(xiàn)在斷點(diǎn)向上追溯只追溯到delay方法, 連調(diào)用delay的函數(shù)是甚么都很難肯定, 這也是語(yǔ)言比較弱的地方, 你只能搜索所有調(diào)用delay A函數(shù)的地方, 設(shè)置斷點(diǎn)來(lái)提早追蹤

b.延時(shí)函數(shù)其實(shí)不會(huì)引發(fā)線程級(jí)的問(wèn)題, 畢竟還是同1個(gè)線程, 但是還是要謹(jǐn)慎, 在delay以后可能存在萬(wàn)種可能, 乃至函數(shù)本身都不存在都有可能, 它存在很多不肯定性, 如果需要處理1些參數(shù), 最好還是和delay函數(shù)1起托家?guī)Э诒甲甙?/span>


delay函數(shù)相當(dāng)?shù)膶?shí)用, 我在這里其實(shí)不講具體delay怎樣實(shí)現(xiàn), 代碼如何, 每種語(yǔ)言都有自己的延時(shí)函數(shù), 大家自己去揣摩吧


3.周期履行函數(shù)

我覺(jué)得在接觸1個(gè)語(yǔ)言, 第1要熟習(xí)它的寫法如何打log, 第2就要知道周期履行函數(shù)這類有趣的設(shè)定, 它能實(shí)現(xiàn)很多很成心思的事情, 可讓參數(shù)動(dòng)起來(lái), 可讓圖形動(dòng)起來(lái), 可讓程序動(dòng)起來(lái), 總之就像程序的發(fā)動(dòng)機(jī)1樣

周期履行函數(shù), 有固定周期和可調(diào)周期兩種, 唯1區(qū)分是, 如果你使用了周期過(guò)于頻繁的沉重處理, 可能會(huì)累壞發(fā)動(dòng)機(jī), 全部效果就變得卡頓非常, 慘不忍睹了.


4.通知與事件

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

在游戲開發(fā)中會(huì)有冒泡通知的方式, 比較局限, 不過(guò)相比nc效力高1些

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


5.運(yùn)動(dòng)方式

很多時(shí)候, 我們能自己通過(guò)周期函數(shù)處理運(yùn)動(dòng), 比如簡(jiǎn)單的恒定運(yùn)動(dòng). 但是大部份的效果表現(xiàn), 還是交給專業(yè)的tween運(yùn)動(dòng)類來(lái)實(shí)現(xiàn)吧. 其實(shí)這類函數(shù)也很簡(jiǎn)單, 就是我們中學(xué)學(xué)到的公式

in和out:1般運(yùn)動(dòng)函數(shù)都會(huì)混合in和out, 解釋1下, in為拉近運(yùn)動(dòng), 數(shù)值上表現(xiàn)就是速度會(huì)愈來(lái)愈快, 加速為正, out為闊別運(yùn)動(dòng), 數(shù)值上表現(xiàn)為速度愈來(lái)愈慢, 加速為負(fù), 有些tween還支持inout1起的平滑曲線, 也就是開始慢, 結(jié)束也慢, 中間略快, 算是比較平滑的運(yùn)動(dòng)解決方案

linear:勻速運(yùn)動(dòng), 最簡(jiǎn)單的運(yùn)動(dòng)方式

sin:正弦運(yùn)動(dòng), 可以選取不同的曲線產(chǎn)生out和in的效果

square:平方根, 其實(shí)就是y=x平方曲線, 衍生的還有3次根和4次根, 表現(xiàn)來(lái)就是曲線變化更加迅速

elastic: 彈性, 會(huì)在終點(diǎn)左右擺動(dòng), 最后停在終點(diǎn)

back:回旋, 在去往終點(diǎn)前先往反方向運(yùn)動(dòng), 或再終點(diǎn)接近時(shí)是從反向逼近

bounce:彈跳的小球, 類似elastic, 只是不會(huì)到終點(diǎn)的另外一邊

exponential:指數(shù), 依照指數(shù)曲線運(yùn)動(dòng)

基本上經(jīng)常使用的有sineout, backout, backin


6.物理引擎

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


就寫這么多吧. :P





生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 一级女人18片毛片免费视频 | 一区二区三区在线播放 | 久久免费大片 | 欧美激情 亚洲 | 亚洲欧美日韩不卡 | 精品视频一区二区三区四区 | 欲色综合 | 欧美亚洲国产精品久久第一页 | videosex久久麻豆 | 一级片欧美 | 欧美性xxxx | 国产嫩草影院精品免费网址 | 日本无卡无吗在线 | 国产亚洲人成在线影院 | 日韩欧美国产中文字幕 | 伊人电院网 | 欧美精品a毛片免费观看 | 二区视频在线 | 一级a性色生活片毛片 | 亚洲欧美成人综合 | freemovies性老女人 | 美日韩一区二区 | 国产青草亚洲香蕉精品久久 | 最近最新日本中文免费 | 伊人久久大香线焦在观看 | 国产精品成人久久久久 | 亚洲欧美日韩高清在线看 | 亚洲精品在线播放 | 亚洲性图在线 | 精品日韩一区 | 97se亚洲综合在线 | 欧美男同志高清videosbest | 亚洲第九十九页 | 国产成人av在线 | 成人免费在线视频网站 | japanese17一18sex日本护士 | 久久99精品久久久久久三级 | 在线精品福利 | 黄色天堂在线 | 亚洲福利国产 | 亚洲精品久久久久网站 |