欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      DSP-C代碼優(yōu)化總結(jié)

      時(shí)間:2019-05-13 16:31:49下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫寫幫文庫小編為你整理了多篇相關(guān)的《DSP-C代碼優(yōu)化總結(jié)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《DSP-C代碼優(yōu)化總結(jié)》。

      第一篇:DSP-C代碼優(yōu)化總結(jié)

      代碼優(yōu)化總結(jié)

      在優(yōu)化一段代碼之前,首先要找出這段程序中最消耗時(shí)間的那一段程序,對(duì)最耗時(shí)程序段的優(yōu)化會(huì)帶來很大的優(yōu)化效果收益。一般而言,這個(gè)最耗時(shí)的程序一般位于一個(gè)循環(huán)體內(nèi),而且這個(gè)循環(huán)體的循環(huán)次數(shù)非常之多。下面是具體的一些優(yōu)化措施:

      1.在循環(huán)體內(nèi)最好不要有條件判斷句,尤其是在內(nèi)層循環(huán)。因?yàn)閮?nèi)層循環(huán)太多的條件判斷句會(huì)打斷程序執(zhí)行的流水線

      2.while和for循環(huán)的選取。如果知道循環(huán)次數(shù)的話,選用for語句 3.在循環(huán)體內(nèi),盡量不要使用系統(tǒng)函數(shù)調(diào)用,因?yàn)橄到y(tǒng)調(diào)用會(huì)消耗太多的時(shí)間。

      4.如果函數(shù)條用的代碼量很小,而且使用的次數(shù)又非常的多得話,將這一段函數(shù)改成內(nèi)聯(lián)函數(shù),這樣可以減少函數(shù)調(diào)用的開銷。5.如果有幾層循環(huán)的話,將循環(huán)次數(shù)多得放在內(nèi)層循環(huán)里。6.用移位運(yùn)算來代替乘法運(yùn)算。

      7.在循環(huán)體內(nèi)最好不要用數(shù)學(xué)函數(shù)。尤其是power、除法操作、模數(shù)操作是非常耗時(shí)的運(yùn)算。應(yīng)該用其他的方法來實(shí)現(xiàn)這些操作。

      以上的這些只是在程序優(yōu)化時(shí)的一些參考,其實(shí)程序的優(yōu)化總體來說分成算法上的優(yōu)化和程序結(jié)構(gòu)上的優(yōu)化,如果想要實(shí)現(xiàn)很高的優(yōu)化效率的話,應(yīng)該從算法上入手。但是程序結(jié)構(gòu)上的優(yōu)化也是必不可少的,它能夠使我們充分發(fā)掘CPU的性能。

      DSP上C代碼的優(yōu)化

      一: 代碼優(yōu)化

      A:數(shù)據(jù)類型優(yōu)化 1)整數(shù)

      Use unsigned int instead of int if it is known that the value will never be negative.Integer arithmetic is much faster than floating-point arithmetic some processors can handle unsigned integer arithmetic considerably faster than signed so, the best declaration for an int variable in a tight loop would be: unsigned int variable_name.2)除法和取余運(yùn)算

      In standard processors, depending on numerator(x)and denominator(y), a 32 bit division takes 20-140 cycles to execute.It will be better to use unsigned division by ensuring that one of the operands is unsigned, as this is faster than signed division.3)全局變量

      Global variables are never allocated to registers.Hence, the compiler cannot cache the value of a global variable in a register, resulting in extra loads and stores when global are used.So, avoid using global variables inside critical loops.If a function uses global variables heavily, it is beneficial to copy those global variables into local variables so that they can be assigned to registers.This is possible only if those global variables are not used by any of the functions which are called.Then it will take less amount of time to execute.4)函數(shù)的指針參數(shù)

      如果函數(shù)的參數(shù)有指針參數(shù),并且這個(gè)指針的值在函數(shù)被調(diào)用期間被使用很多次,而且每次使用并不會(huì)改變指針參數(shù)所指向的變量的值,那么在函數(shù)內(nèi)部將這個(gè)指針參數(shù)的值賦值給一個(gè)局部變量。這樣能減少函數(shù)每次去讀取指針參數(shù)所指向的值的時(shí)間。5)局部變量

      Where possible, it is best to avoid using char and short as local variables.For the types char and short, the compiler needs to reduce the size of the local variable to 8 or 16 bits after each assignment.This is called sign-extending for signed variables and zero extending for unsigned variables.It is implemented by shifting the register left by 24 or 16 bits, followed by a signed or unsigned shift right by the same amount, taking two instructions(zero-extension of an unsigned char takes one instruction).These shifts can be avoided by using int and unsigned int for local variables.This is particularly important for calculations which first load data into local variables and then process the data inside the local variables.Even if data is input and output as 8-or 16-bit quantities, it is worth considering processing them as 32-bit quantities.B:指針優(yōu)化 1)指針鏈

      Pointer chains are frequently used to access information in structures.So, pointer should be modified accordingly to make the code faster.For example, a common code sequence is: typedef struct { int x, y, z;} Point3;

      typedef struct { Point3 *pos, *direction;} Object;void InitPos1(Object *p){

      p->pos->x = 0;p->pos->y = 0;

      p->pos->z = 0;

      }

      This code must reload p->pos for each assignment, because the compiler does not know that p->pos->x is not an alias for p->pos.A better approach would cache p->pos in a local variable:

      void InitPos2(Object *p){

      Point3 *pos = p->pos;pos->x = 0;

      pos->y = 0;pos->z = 0;} C: 循環(huán)

      1)循環(huán)結(jié)束條件

      The loop termination condition can cause significant overhead if written without caution.So, always write count-down-to-zero loops and use simple termination conditions.The execution will take less time if the termination conditions are simple.2)循環(huán)阻塞

      Never use two loops where one will suffice.But if there is a lot of work in the loop, it might not fit into your processor's instruction cache.In this case, two separate loops may actually be faster as each one can run completely in the cache.3)函數(shù)調(diào)用

      Functions always have a certain performance overhead when they are called.Not only does the program pointer have to change, but in-use variables have to be pushed onto a stack, and new variables allocated.Care must be taken though to maintain the readability of the program whilst keeping the size of the program manageable.If a function is often called from within a loop, it may be possible to put that loop inside the function to cut down the overhead of calling the function repeatedly.4)循環(huán)展開

      Small loops can be unrolled for higher performance, with the disadvantage of increased code size.When a loop is unrolled, a loop counter needs to be updated less often and fewer branches are executed.If the loop iterates only a few times, it can be fully unrolled, so that the loop overhead completely disappears.D: 函數(shù)設(shè)計(jì)

      保持函數(shù)的小而且簡(jiǎn)單是很有好處的。這樣可以使得編譯器采取一些更加好的優(yōu)化措施,例如分配寄存器等,這將會(huì)更加有效率。1)函數(shù)調(diào)用的開銷

      函數(shù)調(diào)用的開銷是比較小的,相對(duì)于被調(diào)用函數(shù)的執(zhí)行時(shí)間來說,函數(shù)調(diào)用的開銷所占的比例很小。但是對(duì)于函數(shù)的參數(shù)想要以寄存器的形式傳遞的話,那么所能傳遞的參數(shù)是有一些上限的。通常能以寄存器形式傳遞的函數(shù)參數(shù)都要是整數(shù)類型(或者類似整數(shù)類型的,char, shorts, ints and floats all take one word)或者是占用內(nèi)存位4個(gè)整型大小的結(jié)構(gòu)體變量。假如參數(shù)個(gè)數(shù)的上限是4的話,那么第五個(gè)參數(shù)以及后來的其他的參數(shù)都將會(huì)存儲(chǔ)在棧上,這樣在調(diào)用這樣的幻術(shù)的時(shí)候就會(huì)要去棧上讀取參數(shù)值,耗費(fèi)了時(shí)間,增加了函數(shù)調(diào)用的時(shí)間。

      2)最小化函數(shù)參數(shù)傳遞耗時(shí)

      最小化函數(shù)參數(shù)傳遞耗時(shí),采取的措施是確保函數(shù)小而且參數(shù)少于4個(gè),這樣可以保證函數(shù)不會(huì)使用棧來傳遞參數(shù)。

      @1 如果一個(gè)函數(shù)需要的參數(shù)個(gè)數(shù)多于4個(gè)的話,那么最好是這個(gè)函數(shù)所處理的代碼很多,這樣才能使得棧參數(shù)傳遞是值得的; @2 用結(jié)構(gòu)體指針作為函數(shù)參數(shù),來代替結(jié)構(gòu)體本身作為函數(shù)參數(shù)來傳遞;

      @3 將同一類的參數(shù)放在一個(gè)結(jié)構(gòu)體里面,用結(jié)構(gòu)體指針來傳遞這些參數(shù),這樣就可以減少函數(shù)參數(shù)的個(gè)數(shù),而且可以使函數(shù)更加的穩(wěn)健。3)使用內(nèi)聯(lián)函數(shù)

      Functions with the keyword __inline results in each call to an inline function being substituted by its body, instead of a normal call.This results in faster code, but it adversely affects code size, particularly if the inline function is large and used often.There are several advantages to using inline functions.It will provide no function calls overhead and lower argument evaluation overhead.The biggest disadvantage of inline functions is that the code sizes increase if the function is used in many places.This can vary significantly depending on the size of the function, and the number of places where it is used.It is wise to only inline a few critical functions.Note that when done wisely, inlining may decrease the size of the code: a call takes usually a few instructions, but the optimized version of the inlined code might translate to even less instructions.E: 要點(diǎn)小結(jié)

      i)Avoid using ++ and--etc.within loop expressions.E.g.: while(n--){}, as this can sometimes be harder to optimize.ii)Minimize the use of global variables.iii)Declare anything within a file(external to functions)as static, unless it is intended to be global.iv)Use word-size variables if you can, as the machine can work with these better instead of char, short, double, bit fields etc.v)Don’t use recursion.Recursion can be very elegant and neat, but creates many more function calls which can be a large overhead.vi)Avoid the sqrt()square root function in loopsthere is often a compiler switch for this.x)Floating point multiplication is often faster than divisionuse val + val + val instead of val * 3.puts()is quicker than printf(), although less flexible.xii)Use #defined macros instead of commonly used tiny functions – sometimes the bulk of CPU usage can be tracked down to a small external function being called thousands of times in a tight loop.Replacing it with a macro to perform the same job will remove the overhead of all those function calls,and allow the compiler to be more aggressive in its optimization.xiii)Turn compiler optimization on!The compiler will be able to optimize at a much lower level than can be done in the source code, and perform optimizations specific to the target processor.二:編譯器優(yōu)化

      For the Compiler Optimization the compilers will generate machine instructions based on the C code written, and then make multiple passes through the code to look for improvements.The compiler will update the machine code with improvements and continue to analyze the code until no further enhancements can be made.The compiler tools can perform many optimizations that improve the execution speed and reduce the size of C programs by performing tasks such as simplifying loops, software pipelining, rearranging statements and expressions, and allocating variables into registers.

      第二篇:英文google優(yōu)化網(wǎng)站代碼

      src=“/wp-content/plugins/advanced-fancybox/fancybox/jquery.easing.1.3.js”>-->

      具體位置:
      點(diǎn)擊我們的地圖

      第三篇:寫代碼總結(jié)

      一、排版:

      1.關(guān)鍵詞和操作符之間加適當(dāng)?shù)目崭瘛?/p>

      2.相對(duì)獨(dú)立的程序塊與塊之間加空行

      3.較長的語句、表達(dá)式等要分成多行書寫。

      4.劃分出的新行要進(jìn)行適應(yīng)的縮進(jìn),使排版整齊,語句可讀。

      5.長表達(dá)式要在低優(yōu)先級(jí)操作符處劃分新行,操作符放在新行之首。

      6.循環(huán)、判斷等語句中若有較長的表達(dá)式或語句,則要進(jìn)行適應(yīng)的劃分。

      7.若函數(shù)或過程中的參數(shù)較長,則要進(jìn)行適當(dāng)?shù)膭澐帧?/p>

      8.不允許把多個(gè)短語句寫在一行中,即一行只寫一條語句。

      9.函數(shù)或過程的開始、結(jié)構(gòu)的定義及循環(huán)、判斷等語句中的代碼都要采用縮進(jìn)風(fēng)格。

      10.C/C++語言是用大括號(hào)?{?和?}?界定一段程序塊的,編寫程序塊時(shí)?{?和

      ?}?應(yīng)各獨(dú)占一行并且位于同一列,同時(shí)與引用它們的語句左對(duì)齊。在函數(shù)體的開始、類的定義、結(jié)構(gòu)的定義、枚舉的定義以及if、for、do、while、switch、case語句中的程序都要采用如上的縮進(jìn)方式。

      二、注釋

      1.注釋要簡(jiǎn)單明了。

      2.邊寫代碼邊注釋,修改代碼同時(shí)修改相應(yīng)的注釋,以保證注釋與代碼的一致性。

      3.在必要的地方注釋,注釋量要適中。注釋的內(nèi)容要清楚、明了,含義準(zhǔn)確,防止注釋二義性。保持注釋與其描述的代碼相鄰,即注釋的就近原則。

      4.對(duì)代碼的注釋應(yīng)放在其上方相鄰位置,不可放在下面。

      5.對(duì)數(shù)據(jù)結(jié)構(gòu)的注釋應(yīng)放在其上方相鄰位置,不可放在下面;對(duì)結(jié)構(gòu)中的每個(gè)域的注釋應(yīng)放在此域的右方;同一結(jié)構(gòu)中不同域的注釋要對(duì)齊。

      6.變量、常量的注釋應(yīng)放在其上方相鄰位置或右方。

      7.全局變量要有較詳細(xì)的注釋,包括對(duì)其功能、取值范圍、哪些函數(shù)或過程存取它以及存取時(shí)注意事項(xiàng)等的說明。

      8.在每個(gè)源文件的頭部要有必要的注釋信息,包括:文件名;版本號(hào);作者;生成日期;模塊功能描述(如功能、主要算法、內(nèi)部各部分之間的關(guān)系、該文件與其它文件關(guān)系等);主要函數(shù)或過程清單及本文件歷史修改記錄等。

      9.在每個(gè)函數(shù)或過程的前面要有必要的注釋信息,包括:函數(shù)或過程名稱;功能描述;輸入、輸出及返回值說明;調(diào)用關(guān)系及被調(diào)用關(guān)系說明等。

      三、命名

      1.較短的單詞可通過去掉“元音”形成縮寫;

      2.較長的單詞可取單詞的頭幾發(fā)符的優(yōu)先級(jí),并用括號(hào)明確表達(dá)式的操作順序,避免使用默認(rèn)優(yōu)先級(jí)。

      3.使用匈牙利表示法

      四、可讀性

      1.避免使用不易理解的數(shù)字,用有意義的標(biāo)識(shí)來替代。

      2.不要使用難懂的技巧性很高的語句。

      3.源程序中關(guān)系較為緊密的代碼應(yīng)盡可能相鄰。

      五、變量

      1.去掉沒必要的公共變量。

      2.構(gòu)造僅有一個(gè)模塊或函數(shù)可以修改、創(chuàng)建,而其余有關(guān)模塊或函數(shù)只訪問的公共變量,防止多個(gè)不同模塊或函數(shù)都可以修改、創(chuàng)建同一公共變量的現(xiàn)象。

      3.仔細(xì)定義并明確公共變量的含義、作用、取值范圍及公共變量間的關(guān)系。

      4.明確公共變量與操作此公共變量的函數(shù)或過程的關(guān)系,如訪問、修改及創(chuàng)建等。

      5.當(dāng)向公共變量傳遞數(shù)據(jù)時(shí),要十分小心,防止賦與不合理的值或越界等現(xiàn)象發(fā)生。

      6.防止局部變量與公共變量同名。

      7.仔細(xì)設(shè)計(jì)結(jié)構(gòu)中元素的布局與排列順序,使結(jié)構(gòu)容易理解、節(jié)省占用空間,并減少引起誤用現(xiàn)象。

      8.結(jié)構(gòu)的設(shè)計(jì)要盡量考慮向前兼容和以后的版本升級(jí),并為某些未來可能的應(yīng)用保留余地(如預(yù)留一些空間等)。

      9.留心具體語言及編譯器處理不同數(shù)據(jù)類型的原則及有關(guān)細(xì)節(jié)。

      10.嚴(yán)禁使用未經(jīng)初始化的變量。聲明變量的同時(shí)對(duì)變量進(jìn)行初始化。

      11.編程時(shí),要注意數(shù)據(jù)類型的強(qiáng)制轉(zhuǎn)換。

      六、函數(shù)、過程

      1.函數(shù)的規(guī)模盡量限制在200行以內(nèi)。

      2.一個(gè)函數(shù)最好僅完成一件功能。

      3.為簡(jiǎn)單功能編寫函數(shù)。

      4.函數(shù)的功能應(yīng)該是可以預(yù)測(cè)的,也就是只要輸入數(shù)據(jù)相同就應(yīng)產(chǎn)生同樣的輸出。

      5.盡量不要編寫依賴于其他函數(shù)內(nèi)部實(shí)現(xiàn)的函數(shù)。

      6.避免設(shè)計(jì)多參數(shù)函數(shù),不使用的參數(shù)從接口中去掉。

      7.用注釋詳細(xì)說明每個(gè)參數(shù)的作用、取值范圍及參數(shù)間的關(guān)系。

      8.檢查函數(shù)所有參數(shù)輸入的有效性。

      9.檢查函數(shù)所有非參數(shù)輸入的有效性,如數(shù)據(jù)文件、公共變量等。

      10.函數(shù)名應(yīng)準(zhǔn)確描述函數(shù)的功能。

      11.避免使用無意義或含義不清的動(dòng)詞為函數(shù)命名

      12.函數(shù)的返回值要清楚、明了,讓使用者不容易忽視錯(cuò)誤情況。

      13/明確函數(shù)功能,精確(而不是近似)地實(shí)現(xiàn)函數(shù)設(shè)計(jì)。

      14.減少函數(shù)本身或函數(shù)間的遞歸調(diào)用。

      15.編寫可重入函數(shù)時(shí),若使用全局變量,則應(yīng)通過關(guān)中斷、信號(hào)量(即P、V操作)等手段對(duì)其加以保護(hù)。

      七、可測(cè)性

      1.在編寫代碼之前,應(yīng)預(yù)先設(shè)計(jì)好程序調(diào)試與測(cè)試的方法和手段,并設(shè)計(jì)好各種調(diào)測(cè)開關(guān)及相應(yīng)測(cè)試代碼如打印函數(shù)等。

      2.在進(jìn)行集成測(cè)試/系統(tǒng)聯(lián)調(diào)之前,要構(gòu)造好測(cè)試環(huán)境、測(cè)試項(xiàng)目及測(cè)試用例,同時(shí)仔細(xì)分析并優(yōu)化測(cè)試用例,以提高測(cè)試效率。

      八、程序效率

      1.編程時(shí)要經(jīng)常注意代碼的效率。

      2.在保證軟件系統(tǒng)的正確性、穩(wěn)定性、可讀性及可測(cè)性的前提下,提高代碼效率。

      3.不能一味地追求代碼效率,而對(duì)軟件的正確性、穩(wěn)定性、可讀性及可測(cè)性造成影響。

      4.編程時(shí),要隨時(shí)留心代碼效率;優(yōu)化代碼時(shí),要考慮周全。

      5.要仔細(xì)地構(gòu)造或直接用匯編編寫調(diào)用頻繁或性能要求極高的函數(shù)。

      6.通過對(duì)系統(tǒng)數(shù)據(jù)結(jié)構(gòu)劃分與組織的改進(jìn),以及對(duì)程序算法的優(yōu)化來提高空間效率。

      7.在多重循環(huán)中,應(yīng)將最忙的循環(huán)放在最內(nèi)層。

      8.盡量減少循環(huán)嵌套層次。

      9.避免循環(huán)體內(nèi)含判斷語句,應(yīng)將循環(huán)語句置于判斷語句的代碼塊之中。

      10.盡量用乘法或其它方法代替除法,特別是浮點(diǎn)運(yùn)算中的除法。

      九、質(zhì)量保證

      1.在軟件設(shè)計(jì)過程中構(gòu)筑軟件質(zhì)量。

      代碼質(zhì)量保證優(yōu)先原則

      (1)正確性,指程序要實(shí)現(xiàn)設(shè)計(jì)要求的功能。

      (2)穩(wěn)定性、安全性,指程序穩(wěn)定、可靠、安全。

      (3)可測(cè)試性,指程序要具有良好的可測(cè)試性。

      (4)規(guī)范/可讀性,指程序書寫風(fēng)格、命名規(guī)則等要符合規(guī)范。

      (5)全局效率,指軟件系統(tǒng)的整體效率。

      (6)局部效率,指某個(gè)模塊/子模塊/函數(shù)的本身效率。

      (7)個(gè)人表達(dá)方式/個(gè)人方便性,指?jìng)€(gè)人編程習(xí)慣。

      2.只引用屬于自己的存貯空間。

      3.防止引用已經(jīng)釋放的內(nèi)存空間。

      4.過程/函數(shù)中分配的內(nèi)存,在過程/函數(shù)退出之前要釋放。

      5.過程/函數(shù)中申請(qǐng)的(為打開文件而使用的)文件句柄,在過程/函數(shù)退出前要關(guān)閉。

      6.防止內(nèi)存操作越界。

      7.時(shí)刻注意表達(dá)式是否會(huì)上溢、下溢。

      8.認(rèn)真處理程序所能遇到的各種出錯(cuò)情況。

      9.系統(tǒng)運(yùn)行之初,要初始化有關(guān)變量及運(yùn)行環(huán)境,防止未經(jīng)初始化的變量被引用。

      10.系統(tǒng)運(yùn)行之初,要對(duì)加載到系統(tǒng)中的數(shù)據(jù)進(jìn)行一致性檢查。

      11.嚴(yán)禁隨意更改其它模塊或系統(tǒng)的有關(guān)設(shè)置和配置。

      12.不能隨意改變與其它模塊的接口。

      13.充分了解系統(tǒng)的接口之后,再使用系統(tǒng)提供的功能。

      14.要時(shí)刻注意易混淆的操作符。當(dāng)編完程序后,應(yīng)從頭至尾檢查一遍這些操作符。

      15.不使用與硬件或操作系統(tǒng)關(guān)系很大的語句,而使用建議的標(biāo)準(zhǔn)語句。

      16.建議:使用第三方提供的軟件開發(fā)工具包或控件時(shí),要注意以下幾點(diǎn):

      (1)充分了解應(yīng)用接口、使用環(huán)境及使用時(shí)注意事項(xiàng)。

      (2)不能過分相信其正確性。

      (3)除非必要,不要使用不熟悉的第三方工具包與控件。

      十、代碼編譯

      1.編寫代碼時(shí)要注意隨時(shí)保存,并定期備份,防止由于斷電、硬盤損壞等原因造成代碼丟失。

      2.同一項(xiàng)目組內(nèi),最好使用相同的編輯器,并使用相同的設(shè)置選項(xiàng)。

      3.合理地設(shè)計(jì)軟件系統(tǒng)目錄,方便開發(fā)人員使用。

      4.打開編譯器的所有告警開關(guān)對(duì)程序進(jìn)行編譯。

      5.在同一項(xiàng)目組或產(chǎn)品組中,要統(tǒng)一編譯開關(guān)選項(xiàng)。

      6.使用工具軟件(如Visual SourceSafe)對(duì)代碼版本進(jìn)行維護(hù)。

      十一、代碼測(cè)試、維護(hù)

      1.單元測(cè)試要求至少達(dá)到語句覆蓋。

      2.單元測(cè)試開始要跟蹤每一條語句,并觀察數(shù)據(jù)流及變量的變化。

      3.清理、整理或優(yōu)化后的代碼要經(jīng)過審查及測(cè)試。

      4.代碼版本升級(jí)要經(jīng)過嚴(yán)格測(cè)試。

      第四篇:軟件工程代碼總結(jié)

      1、事件

      處理事件的方法

      2、class和id的用途是不一樣的;首先要說明一下,選擇器一共有三種:

      html標(biāo)記,class,id;html標(biāo)記就不說了,class是對(duì)html標(biāo)記選擇器的一種擴(kuò)展,CLASS可以給多個(gè)標(biāo)記反復(fù)利用;而ID的目的在于被Javascript使用,來動(dòng)態(tài)改變CSS,所以2種的實(shí)際用途是截然不同的。

      如:“id”對(duì)應(yīng)“#”,“class”對(duì)應(yīng)“.”.id是唯一標(biāo)志的,在同一頁面中不能有相同的值,class則沒這約束。如: Css #div1{......}.div2{......}

      //class可以相同重復(fù)用

      第五篇:flash常用代碼總結(jié)

      1、flash停頓多少秒后播放

      setInterval()在執(zhí)行完一次代碼之后,經(jīng)過了那個(gè)固定的時(shí)間間隔,它還會(huì)自動(dòng)重復(fù)執(zhí)行代碼 setTimeout()只執(zhí)行一次那段代碼

      兩個(gè)方法用法一樣

      1、如果要求在每隔一個(gè)固定的時(shí)間間隔后就精確地執(zhí)行某動(dòng)作,那么最好使用setInterval

      2、如果不想由于連續(xù)調(diào)用產(chǎn)生互相干擾的問題,尤其是每次函數(shù)的調(diào)用需要繁重的計(jì)算以及很長的處理時(shí)間,那么最好使用setTimeout

      stop();//設(shè)置停頓時(shí)間,單位毫秒

      var loadTime=setInterval(playMC,5000);function playMC(){ play();clearInterval(loadTime);//終止被調(diào)用的過程代碼的執(zhí)行 }

      2、Flash調(diào)用外部swf定位和大小

      http://mojojo.blogbus.com/logs/16055529.html

      flash調(diào)用外部swf定位和大小的ActionScript函數(shù)。

      (1)用同一目錄下swf文件,一般來說用loadMovie(“mpg.swf”,“mpg”);

      可是那樣不好控制swf的位置和大小把你的swf文件導(dǎo)入到一個(gè)空mc中去,然后通過調(diào)整這個(gè)空的mc來控制你的導(dǎo)入的swf文件的大小。

      (2)文字要改變其大小可以用: setproperty(“mcname”,_xscale,xx);setproperty(“mcname”,_yscale,yy);

      //其中mcname為空mc的實(shí)例名,xx,yy為調(diào)整數(shù)值(3)要改變調(diào)入后的swf的位置: setproperty(“mcname”,_x,xxx);setproperty(“mcname”,_y,yyy);

      //其中xxx,yyy是數(shù)值,即新的位置

      功能說明: loadMovieNum(“url”,level[, variables])loadMovie(“url”,level/target[, variables])

      功能說明:

      在播放原來加載的影片的同時(shí)將SWF或JPEG文件加載進(jìn)來。

      參數(shù)說明:

      url 要加載的 SWF 或 JPEG 文件的絕對(duì)或相對(duì) URL,不能包含文件夾或磁盤驅(qū)動(dòng)器說明。

      level 把swf文件以層的形式載入到Movie里,若載入0層,則載入的swf文件將取代當(dāng)前播放的Movie。2層高于1層。

      Target 可用路徑拾取器取得并替換目標(biāo)MC,載入的電影將擁有目標(biāo)MC的位置、大小和旋轉(zhuǎn)角度等屬性。(個(gè)人認(rèn)為用Target好些,在控制載入.swf位置時(shí)比較方便)variables 可選參數(shù),指定發(fā)送變量所使用的 HTTP 方法(GET/POST),如果沒有則省略此參數(shù)。

      層次Level:Flash允許同時(shí)運(yùn)行多個(gè)SWF文件,F(xiàn)lash一旦載入一個(gè)SWF文件,則占據(jù)了一個(gè)“層次”,系統(tǒng)默認(rèn)的是_Flash0或_Level0,之后的Movie則按順序放在level0---level16000里。第一個(gè)載入的SWF文件為_Flash0或 _Level0,第二個(gè)如果加載到第一層時(shí)的稱為_Flash1或_Level1,依此類推。注意前提是前面載入的文件沒有退出,否則沖掉第一個(gè)SWF文件,第一個(gè)文件也從內(nèi)存中退出。

      注意:如果你將外部的Movie加載到Leve0層或者Level0里,那么,原始的Movie就會(huì)被暫時(shí)取代,要再用時(shí)還得重新Load一次,也就是說,一個(gè)Level在一個(gè)時(shí)間里只能有一個(gè)Movie存在。在使用LoadMovie和UnLoadMovie時(shí)必須特別注意 Level之間的關(guān)系,否則,當(dāng)你希望在一個(gè)時(shí)間里只播放一個(gè)Movie而Unload掉前一個(gè)Movie時(shí),就會(huì)出現(xiàn)不必要的麻煩。

      unloadMovieNum(level)

      unloadMovie[Num](level/“target”)

      功能說明: 從 Flash Player 中刪除已加載的影片。

      參數(shù)說明: 同上

      loadVariables(“url” ,level/“target” [, variables])

      功能說明:

      從外部文件中(例如文本文件,或由 CGI 腳本、Active Server Page(ASP)、PHP 或 Perl 腳本生成的文本)讀取數(shù)據(jù),并設(shè)置 Flash Player 級(jí)別或目標(biāo)影片剪輯中變量的值。

      參數(shù)說明:

      url 變量所處位置的絕對(duì)或相對(duì) URL

      level 指定 Flash Player 中接收這些變量的級(jí)別的整數(shù)。

      Target 指向接收所加載變量的影片剪輯的目標(biāo)路徑。

      variables 可選參數(shù),指定發(fā)送變量所使用的 HTTP 方法(GET/POST),如果沒有則省略此參數(shù)。

      gotoAndPlay(scene, frame)

      功能說明:

      轉(zhuǎn)到指定場(chǎng)景中指定的幀并從該幀開始播放。如果未指定場(chǎng)景,則播放頭將轉(zhuǎn)到當(dāng)前場(chǎng)景中的指定幀。

      參數(shù)說明:

      scene 轉(zhuǎn)到的場(chǎng)景的名稱。

      frame 轉(zhuǎn)到的幀的編號(hào)或標(biāo)簽。

      Flash常用代碼的介紹

      作者:ayan_2006 類型:閃吧BBS 來源:閃吧個(gè)人空間

      1、用flash做那種彈出的小窗口分兩步:給flash中的按鈕加入如下action:

      on(release){

      getURL(“BLOCKED SCRIPTMM_openBrWindow(’newweb.htm’,’’,’width=600,height=100’)”);

      } 在HTML頁面的...之間加入下面的javascript代碼.2、如何使得flash一打開就是全屏?

      fscommand(“fullscreen”,true)如何不能使用右鍵?

      fscommand(“showmenu”, “false”);

      3、用命令載入一個(gè)動(dòng)畫,我需要確定載入動(dòng)畫在畫面中的位置,用什么語言來設(shè)置?例如載入名為dd.swf的動(dòng)畫,我要確定這個(gè)動(dòng)畫的中心位置在(205,250),該怎么設(shè)置?在要加載動(dòng)畫的那鐘加入:

      loadMovie(“dd.swf”, “a”);

      a._x=205;

      a._y=250;你得先做一個(gè)空的MC起名叫“a”,導(dǎo)入時(shí),在右下角也起名為a。

      4、當(dāng)鼠標(biāo)經(jīng)過時(shí)動(dòng)畫播放到某處:

      on(rollover){

      gotoAndPlay(10);

      } 當(dāng)鼠標(biāo)按下時(shí)動(dòng)畫播放到某處:

      on(release){

      gotoAndPlay(1);

      }

      5、播完動(dòng)畫后自動(dòng)跳到某網(wǎng)頁:

      getURL(“siteindex.htm”, _self);

      6、設(shè)為首頁:

      一,用getURL的方法:

      設(shè)為首頁:

      on(release){

      getURL(“getURL(”javascript:void(document.links[0].style.behavior=’url(#default#homepage)’);void document.links[0].setHomePage(’http:// 您的網(wǎng)站地址/’);“, ”_self“, ”POST“);} 加入收藏夾:

      on(release){

      getURL(”getURL(“javascript:void window.external.AddFavorite(’http://您的網(wǎng)站地 址’,’網(wǎng)站名稱’);”, “_self”, “POST”);} 第二種方法是通過用fscommand的方法,比上面一個(gè)要復(fù)雜一些。首先在Flash 的按鈕上添加ActionScript腳本代碼

      設(shè)為首頁

      on(release){ fscommand(“setHomePage”, “http://您的網(wǎng)站地址”);} 加入收藏夾

      on(release){ fscommand(“addFavorite”, “http://網(wǎng)站地址|網(wǎng)站名稱”);} 在發(fā)布 Flash動(dòng)畫時(shí)選上HTML,在Template下拉菜單中選擇Flash with fscommand,發(fā)布出html頁面接著要對(duì)發(fā)布出來的HTML頁面進(jìn)行修改,在HTML代碼中找 到這么一段

      // Handle all the the FSCommand messages in a Flash movie&nb sp;function sethomepage_DoFSCommand(command, args){ } 這一段修改成 // Handle all the the FSCommand messages in a Flash movie function sethomepage_DoFSCommand(command, args){

      var sethomepageObj = InternetExplorer ? sethomepage : document.sethomepage;if(command == “setHomePage”){

      document.links[0].style.behavior = “url(#default#homepage)”;

      document.links[0].setHomePage(args);} else if(command == “addFavorite”){ args = args.split(“|”);window.external.AddFavorite(args[0], args[1]);最后,如果html里一個(gè)鏈接都 沒有,還需在 第二種方法:

      也可以在SWF文件的第一幀Actions上的GETURL 命令上加上:

      也可以在SWF文件的第一幀Actions上的GETURL 命令上加上:

      javascript:window.open(”nfd.swf“,”“,”fullscreen=1,menubar=no,width=800,height=600“)這種全屏也是類似屏 保,用ALT+F4或設(shè)置按鈕退出。把fullscreen設(shè)為=0,則只是不顯示瀏覽器菜

      單欄、工具欄的全屏。還有一個(gè)寫法:

      javascript:window.open(”*.swf“,”“,”menubar=no, toolbar=no,location=no,status=no,fullscreen=yes“)

      我個(gè)人推薦這種^_^ 第三種方法:

      稍麻煩一些,需要兩個(gè)網(wǎng)頁,呵呵*—* 你可以建立個(gè)空白網(wǎng)頁加上代碼 :

      *.htm 你把他替換為 你自己要全屏打開的網(wǎng)頁就可以了

      第四種方法:

      這種方法更詳細(xì),還有步驟,不過我沒有試過,你們可以先試一下啊。我把 操作步驟寫下:

      1、在Flashk中做好動(dòng)畫后,首先選擇主菜單中的File Publish Settings(文件發(fā)布設(shè)置命令),彈出對(duì)話框,點(diǎn)擊進(jìn)入HTML項(xiàng)設(shè)置: 設(shè)置Dimensions尺寸單位為Percent百分比;在寬,高中設(shè)置100。再點(diǎn)擊發(fā)布按鈕進(jìn)行發(fā)布即可。這樣,在你原文件處就會(huì)生成一個(gè)和動(dòng)畫同名的HTML 文件。

      2、建立一個(gè)空白的HTML頁面blank.htm,只保留標(biāo)簽部分。

      3、建立一個(gè)有帶框架的html文件show.html,頁面 html文本如下:

      marginwidth=”0“ marginheight=”0“ leftmargin=”0“ rightmargin=”0“ topmargin=”0“> 該文件將頁面分為兩個(gè)框 架,上面放動(dòng)畫名.html文件,下面放blank.html文件。注:其中,動(dòng)畫名.html文件是在第一步中發(fā)布出來的相應(yīng)的html文件。

      4、建立一個(gè)帶 JavaScript腳本的html文件full.html。用這個(gè)文件打開show.html并 定義其顯示窗口為全屏,不帶菜單,滾動(dòng)條,狀態(tài)欄等。該文件的html文本如 下:

      上面的第四步和第三種方法一樣的 9、如何禁止右鍵菜單,fscommand的方法還是只能適用于fp,在網(wǎng)頁中使用還是必須添加額外的參數(shù),或者用最簡(jiǎn)單的一句as,在fp和網(wǎng)頁中均適用:

      Stage.showMenu=false;

      10、播完動(dòng)畫后自動(dòng)跳到某網(wǎng)頁:

      getURL(”siteindex.htm“, ”_self“);

      最常用的Flash語句flash語句(匯集)FLASH代碼

      flash 動(dòng)作語句 flash全屏語句 flash按鈕觸發(fā)語句 flash 最小化語句 flash自動(dòng)跳轉(zhuǎn)語句

      1、flash按鈕觸發(fā)語句

      box_btn.onPress=function(){ trace(”ok“);};按鈕實(shí)例名稱.事件處理方法=function(){ //處理程序

      };例如:

      n=1 box_btn.onRelease=function(){ n=n+1 trace(”n=“+n);} 當(dāng)按鈕被點(diǎn)一下的時(shí)候,Output窗口會(huì)輸出:”n=2“ onClipEvent(load){ stop();} 以上是影片剪輯的事件處理函數(shù)。”()“的內(nèi)部是事件。

      在一個(gè)FLASH里在第一個(gè)場(chǎng)景里調(diào)用第二個(gè)場(chǎng)景,要在第一個(gè)場(chǎng)景里需要調(diào)用的地方加個(gè)按鈕,然后在按鈕上寫下如下代碼:

      on(release){ tellTarget(”_root“){ gotoAndPlay(”mm2“, 1);} } 其中,”mm2“是第二個(gè)場(chǎng)景的MC的名稱。

      on(release){ loadmovie(”fz3.swf“,1);setProperty(”fz3.swf“,_x,100);

      setProperty(”fz3.swf“,_y,100);

      _root.createEmptyMovieClip(”Card Game“);

      mc.loadMovie(”fz3.swf“);

      mc._x=0;

      mc._y=0;

      } fz3.swf是需要調(diào)入的SWF文件,_x,_y是坐標(biāo)軸

      Card Game是SWF中MC的名字

      on(release)結(jié)構(gòu)只能用于按鈕,其他相關(guān)的幾種用法如on(press)、on(rollOver)、on(rollout)、on(dragOver)、on(dragOut)等。

      2.If-else語句

      對(duì)if語句可以進(jìn)行擴(kuò)展,使用else執(zhí)行條件不成立(比較表達(dá)式為false)時(shí)的代碼,如下所示:

      if(x == 9){ gotoAndPlay(15);} else { gotoAndPlay(16);} 你也可以使用else if語句將if語句更推進(jìn)一步,如下所示: if(x == 9){ gotoAndPlay(15);} else if(x == 10){ gotoAndPlay(16);} else if(x == 11){ gotoAndPlay(20);} else { gotoAndPlay(25);} 你可以讓if語句想要多長就有多長,你也可以使用else if語句對(duì)別的變量進(jìn)行比較,如下所示:

      if(x == 9){ gotoAndPlay(15);} else if(y<20){ gotoAndPlay(16);} else { gotoAndPlay(25);} 復(fù)合比較

      你可以在一個(gè)if語句中對(duì)幾個(gè)比較表達(dá)式的值進(jìn)行判斷,比如說你希望在x為9并且y為20時(shí)跳轉(zhuǎn)到第10幀,可以使用如下所示的腳本:

      if((x == 9)&&(y == 20)){ gotoAndPlay(10);} 邏輯與運(yùn)算符&&將兩個(gè)比較表達(dá)式聯(lián)接在一起成為一個(gè)復(fù)合表達(dá)式,當(dāng)兩個(gè)表達(dá)式的值都為true時(shí)復(fù)合表達(dá)式的值才為true。

      每個(gè)比較表達(dá)式都需要添加獨(dú)立的括號(hào)以便Flash能正確識(shí)別。

      在Flash的早期版本中使用and執(zhí)行邏輯與運(yùn)算,現(xiàn)在已推薦不使用。

      你也可以使用邏輯或運(yùn)算符||將兩個(gè)比較表達(dá)式聯(lián)接在一起成為一個(gè)復(fù)合表達(dá)式,只要有一個(gè)表達(dá)式的值為true,復(fù)合表達(dá)式的值就為true。如下所示:

      if((x == 7)||(y == 15)){ gotoAndPlay(20);} 在該腳本中,只要x為7或者y為15,或者兩者都成立,結(jié)果都是跳轉(zhuǎn)到第20幀。

      只有當(dāng)兩者都不成立時(shí),才不會(huì)執(zhí)行g(shù)otoAndPlay命令。

      3、函數(shù)

      到現(xiàn)在為止,我們都是將腳本放在影片的第1幀中。

      如果程序相當(dāng)復(fù)雜,再放在同一幀中就使腳本顯得太龐大了。

      函數(shù)使你可以組織需重用的代碼,并放在時(shí)間軸中,例如: function myFunction(myNum){ var newNum = myNum+5;return newNum;} 函數(shù)以關(guān)鍵字function開頭,function后面是函數(shù)名。

      與變量名相似,你可以指定自己的函數(shù)名,最好將函數(shù)名取得有意義一些。

      函數(shù)名后面的括號(hào)容納該函數(shù)的參數(shù),所謂參數(shù)也是一個(gè)變量,它的值在調(diào)用該函數(shù)時(shí)予以指定。

      一個(gè)函數(shù)可以有若干參數(shù),也可以沒有參數(shù)。無論有沒有參數(shù),函數(shù)名后都應(yīng)緊跟一對(duì)括號(hào)。

      大括號(hào)中的部分是函數(shù)體,在函數(shù)體中創(chuàng)建了一個(gè)局部變量newNum,將myNum加5的結(jié)果設(shè)置為newNum的值。

      如果你將10作為參數(shù)傳遞給該函數(shù),newNum的值就是15。

      return命令僅用于函數(shù)中,使用return結(jié)束一個(gè)函數(shù)并返回函數(shù)值。

      此處,newNum是用return命令返回的函數(shù)值。

      要使用函數(shù),就需要調(diào)用它,如下所示:

      var a = myFunction(7);該語句創(chuàng)建一個(gè)新的局部變量a,將7作為參數(shù)調(diào)用函數(shù)myFunction,并將函數(shù)返回的結(jié)果作為變量a的值。

      被調(diào)用的函數(shù)開始運(yùn)行,創(chuàng)建一個(gè)局部變量myNum,將7作為myNum的值,然后執(zhí)行函數(shù)體內(nèi)的代碼,使用return命令將newNum的值12返回給函數(shù)的調(diào)用者。這時(shí),a的值變?yōu)?2。

      函數(shù)最大的作用體現(xiàn)在它可以重復(fù)使用。如下所示的3行代碼產(chǎn)生3個(gè)不同的結(jié)果:

      trace(myFunction(3));trace(myFunction(6));trace(myFunction(8));運(yùn)行以上代碼,你將得到結(jié)果8、11和13。

      使用函數(shù)還有一個(gè)好處就是可以只改變函數(shù)中的一處,從而影響所有調(diào)用該函數(shù)的命令。

      例如,將函數(shù)myFunction中的var newNum = myNum+5改成var newNum = myNum+7,上面3個(gè)調(diào)用該函數(shù)的命令的結(jié)果將變成10、13和15點(diǎn)語法的另一個(gè)用途是指定影片剪輯的屬性。

      如下面的語句將影片剪輯myMC的_alpha(透明度)屬性設(shè)置為50%:

      myMC._alpha = 50;你還可以在影片剪輯中使用點(diǎn)語法定位根(root)中的一個(gè)全局變量。

      如果你在主時(shí)間軸中創(chuàng)建了一個(gè)全局變量globelVar,而要在影片剪輯中使用這個(gè)全局變量,可以使用如下的語句:

      trace(_root.globleVar);stop:使影片停止在當(dāng)前時(shí)間軸的當(dāng)前幀中。

      play:使影片從當(dāng)前幀開始繼續(xù)播放。

      gotoAndStop:跳轉(zhuǎn)到用幀標(biāo)簽或幀編號(hào)指定的某一特定幀并停止。gotoAndPlay:跳轉(zhuǎn)到用幀標(biāo)簽或幀編號(hào)指定的某一特定幀并繼續(xù)播放。

      nextFrame:使影片轉(zhuǎn)到下一幀并停止。

      prevFrame:使影片回到上一幀并停止。

      stop命令常常用在幀動(dòng)作中,以使影片停止并等待用戶控制。

      其他命令常常用在按鈕的事件處理函數(shù)中。

      如果gotoAndPlay命令中只有一個(gè)參數(shù),F(xiàn)lash將認(rèn)為它代表某個(gè)幀;

      如果有兩個(gè)參數(shù),第1個(gè)參數(shù)將作為場(chǎng)景名,第2個(gè)參數(shù)代表該場(chǎng)景中的幀。

      要定位包含某一對(duì)象的上一級(jí)對(duì)象,可以使用關(guān)鍵字_parent。

      如果一個(gè)影片剪輯是包含在主時(shí)間軸中,在影片剪輯中使用_parent和_root的效果是一樣的。

      如果影片剪輯與主時(shí)間軸相差兩個(gè)層級(jí),即當(dāng)影片剪輯包含在另一個(gè)位于主時(shí)間軸中的影片剪輯中,這時(shí)在該影片剪輯中使用_parent指代的是它上一級(jí)的影片剪輯,而_root是指它上兩級(jí)的主時(shí)間軸。在主時(shí)間軸中不能使用_parent,因?yàn)橹鲿r(shí)間軸沒有上一級(jí)。

      4、.詳細(xì)了解GOTO語句

      prevFrame()

      跳至并停止在前一禎。

      nextFrame()

      跳至并停止在下一禎。

      prevScene()

      跳至并停止在前一場(chǎng)景的第1幀。nextScene()

      跳至并停止在下一場(chǎng)景的第1幀。

      gotoAndPlay([scene,] frame)

      跳至scene場(chǎng)景(省略表示當(dāng)前場(chǎng)景)的frame幀并播放。

      gotoAndStop([scene,] frame)

      跳至scene場(chǎng)景(省略表示當(dāng)前場(chǎng)景)的frame幀并停止。

      5、了解MC的各種可改寫的屬性

      _x 中心點(diǎn)所在相對(duì)X坐標(biāo)(象素單位)

      _y 中心點(diǎn)所在相對(duì)Y坐標(biāo)(象素單位)

      _xscale 橫向縮放比例,初始為100

      _yscale 縱向縮放比例,初始為100

      _rotation 相對(duì)旋轉(zhuǎn)角度(度單位)

      _width 相對(duì)顯示寬度(象素單位)

      _height 相對(duì)顯示高度(象素單位)

      _alpha 顯示透明度(0~100)

      _visible 是否可見

      _focusrect 是否顯示焦點(diǎn)框

      _name 實(shí)例名稱

      6、三大紀(jì)律: 1>寫代碼時(shí)一定要用英文(如EN CH)輸入法

      2>必須要有唯物主義思想,沒有加載的MC是不可以更改它的屬

      性,更不可以寫代碼去控制它。這個(gè)問題較難掌握,高手有時(shí)也會(huì)

      犯,道理就是先有吃的才能請(qǐng)客吃,啥也沒有請(qǐng)客吃什么呢

      3>操作什么一定要選什么(實(shí)際上哪個(gè)軟件也要這樣)。在MX中加代

      碼時(shí)如不選,就一定要寫明名稱,實(shí)際上也是一種先擇。

      7、八項(xiàng)注意: 1>按鈕不能蓋著輸入文本,動(dòng)態(tài)文本和輸入文本域不能蓋著按鈕

      2>用loadMoie時(shí)LEVEL1及以上的文件盡量少用大隱型按鈕

      3>從一個(gè)文件中復(fù)制MC實(shí)例到別一個(gè)文件中時(shí),盡量復(fù)制幀,而不能直接

      復(fù)制實(shí)例,4>從一個(gè)文件中復(fù)制MC實(shí)例到別一個(gè)文件中時(shí),要先把目標(biāo)文件中的符

      號(hào)庫中原有的符號(hào),裝進(jìn)資夾里,很多網(wǎng)友這個(gè)問題上上過當(dāng)吧?

      需要記住一個(gè)動(dòng)作的作用時(shí),可在動(dòng)作面板中使用comment(注釋)語句給幀或按鈕動(dòng)作添加注釋。如果你在協(xié)作環(huán)境中工作或給別人提供范例,添加注釋有助于別人對(duì)你編寫的腳本的正確理解。

      在動(dòng)作面板中選擇comment動(dòng)作時(shí),字符”//“被插入到腳本中。如果在你創(chuàng)建腳本時(shí)加上注釋,即使是較復(fù)雜的腳本也易于理解,例如:

      on(release){ //建立新的日期對(duì)象 myDate = new Date();currentMonth=myDate.getMonth();//把用數(shù)字表示的月份轉(zhuǎn)換為用文字表示的月份

      monthName = calcMoth(currentMonth);year = myDate.getFullYear();currentDate = myDate.getDat();}

      常量

      常量有其值永不改變的屬性。常數(shù)用大寫字母列于動(dòng)作工具箱中。例如,常數(shù)BACKSPACE、ENTER、QUOTE、RETURN、SPACE和TAB是Key對(duì)象的屬性,指鍵盤上的鍵。要測(cè)試用戶是否在按Enter鍵,可使用下面的語句:

      if(keycode()= =key.ENTER){ alert = ”你準(zhǔn)備好了嗎?“ controlMC.gotoAndStop(5);}

      影片剪輯

      1、load enterFrame load在整個(gè)動(dòng)畫中只加載一次,enterFrame不管是否有stop都要一直加載,直至關(guān)閉

      onClipEvent(load){ var i = 0;} onClipEvent(enterFrame){ trace(i);i++;}

      2、startDrag()(可做鼠標(biāo)跟隨)

      用法

      startDrag(target,[lock ,left , top , right, bottom])參數(shù)

      target 要拖動(dòng)的影片剪輯的目標(biāo)路徑。

      lock 一個(gè)布爾值,指定可拖動(dòng)影片剪輯是鎖定到鼠標(biāo)位置中央(true),還是鎖定到用戶首次單擊該影片剪輯的位置上(false)。此參數(shù)是可選的。

      left、top、right、bottom 相對(duì)于影片剪輯父級(jí)坐標(biāo)的值,這些值指定該影片剪輯的約束矩形。這些參數(shù)是可選的。返回 無。說明

      函數(shù);使 target 影片剪輯在影片播放過程中可拖動(dòng)。一次只能拖動(dòng)一個(gè)影片剪輯。執(zhí)行了 startDrag()操作后,影片剪輯將保持可拖動(dòng)狀態(tài),直到用 stopDrag()明確停止拖動(dòng)為止,或直到對(duì)其它影片剪輯調(diào)用了 startDrag()動(dòng)作為止。示例

      若要?jiǎng)?chuàng)建用戶可以放在任何位置的影片剪輯,可將 startDrag()和 stopDrag()動(dòng)作附加到該影片剪輯內(nèi)的某個(gè)按鈕上。on(press){ startDrag(this,true);} on(release){ stopDrag();} 若在動(dòng)畫開始時(shí)影片剪輯跟隨鼠標(biāo) onClipEvent(load){ Mouse.hide();startDrag(this, true, 0, 0, 550, 400);}

      duplicateMovieClip 函數(shù)

      duplicateMovieClip(target:String, newname:String, depth:Number): Void duplicateMovieClip(target:MovieClip, newname:String, depth:Number): Void 當(dāng) SWF 文件正在播放時(shí),創(chuàng)建一個(gè)影片剪輯的實(shí)例。無論播放頭在原始影片剪輯中處于什么位置,在重復(fù)的影片剪輯中,播放頭始終從第 1 幀開始。原始影片剪輯中的變量不會(huì)復(fù)制到重復(fù)的影片剪輯中。使用 removeMovieClip()函數(shù)或方法可以刪除用 duplicateMovieClip()創(chuàng)建的影片剪輯實(shí)例??捎眯裕篎lash Player 4;ActionScript 1.0 參數(shù)

      target:Object所復(fù)制的影片剪輯的唯一標(biāo)識(shí)符。depth:Number-所復(fù)制的影片剪輯的唯一深度級(jí)別。深度級(jí)別是所復(fù)制的影片剪輯的堆疊順序。這種堆疊順序很像時(shí)間軸中圖層的堆疊順序;較低深度級(jí)別的影片剪輯隱藏在較高堆疊順序的剪輯之下。必須為每個(gè)所復(fù)制的影片剪輯分配一個(gè)唯一的深度級(jí)別,以防止它替換已占用深度上的 SWF 文件。示例

      在下面的示例中,將創(chuàng)建一個(gè)名為 img_mc 的新影片剪輯實(shí)例。將一個(gè)圖像加載到該影片剪輯中,然后復(fù)制 img_mc 剪輯。所復(fù)制的剪輯名為 newImg_mc,這個(gè)新剪輯將移至舞臺(tái)上,因此它不會(huì)與原始剪輯重疊,并且將同一圖像加載到第二個(gè)剪輯中。this.createEmptyMovieClip(”img_mc“, this.getNextHighestDepth());img_mc.loadMovie(”http://004km.cn/flash/images/image1.jpg“);duplicateMovieClip(img_mc, ”newImg_mc“, this.getNextHighestDepth());newImg_mc._x = 200;newImg_mc.loadMovie(”http://004km.cn/flash/images/image1.jpg“);要?jiǎng)h除重復(fù)的影片剪輯,可為名為 myButton_btn 的按鈕添加以下代碼。this.myButton_btn.onRelease = function(){ removeMovieClip(newImg_mc);};

      eval 該變量或?qū)傩缘闹?。如果表達(dá)式是對(duì)象或影片剪輯,則返回對(duì)該對(duì)象或影片剪輯的引用。如果無法找到表達(dá)式中列舉的元素,則返回 undefined。

      下面的示例使用 eval()為動(dòng)態(tài)命名的影片剪輯設(shè)置屬性。此 ActionScript 為三個(gè)影片剪輯(分別稱為 square1_mc、square2_mc 和 square3_mc)設(shè)置 _rotation 屬性。

      for(var i = 1;i <= 3;i++){ eval(”square“+i+”_mc")._rotation= 5;} 就可以使square1_mc、square2_mc 和 square3_mc角度都變成5

      簡(jiǎn)單來說就是用字符串或者變量組合起來得到對(duì)象,變量..

      下載DSP-C代碼優(yōu)化總結(jié)word格式文檔
      下載DSP-C代碼優(yōu)化總結(jié).doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        單片機(jī)實(shí)驗(yàn)代碼總結(jié)

        編者:方園 單片機(jī)實(shí)驗(yàn)代碼集合(by fangyuan) 1.多字節(jié)累加程序: ORG 0000H LJMP MAIN ORG 0030H ;將加數(shù)和被加數(shù)送到指定地址 MAIN: MOV 20H,#45H MOV 21H,#74H MOV 30H,#67......

        域代碼編寫總結(jié)

        word域代碼詳解 域的基本操作 Ctrl+F9 插入域 Ctrl+Shift+F9把域轉(zhuǎn)為純文本 Shift+F9 切換為域代碼顯示 十個(gè)特殊指令(域開關(guān)) 1、數(shù)組a 2、括號(hào)b 3、平移d 4、分式f 5......

        數(shù)據(jù)庫上機(jī)實(shí)驗(yàn)總結(jié)(含代碼)

        實(shí)驗(yàn)一 (1)無條件單表查詢 select sname NAME,'year of birth:' BIRTH,2004-sage BIRTHDAY,LOWER(sdept) DEPARTMENT FROM student; (2)有條件單表查詢 SELECT sname,sdept,sage......

        Excel VBA常用代碼總結(jié)1(精選合集)

        Excel VBA常用代碼總結(jié)1? 改變背景色 Range("A1").Interior.ColorIndex = xlNone ColorIndex一覽 ? ? 改變文字顏色 獲取單元格 Range("A1").Font.ColorIndex = 1 Cells(1, 2)......

        天英網(wǎng)絡(luò)培訓(xùn)教你做SEO優(yōu)化懂代碼

        天英網(wǎng)絡(luò)營銷學(xué)院 天英網(wǎng)絡(luò)培訓(xùn)教你做SEO優(yōu)化懂代碼 很多人認(rèn)為做SEO優(yōu)化不需要懂代碼,那是程序員的事,只要懂得抓住優(yōu)化網(wǎng)站細(xì)節(jié)就ok,排名上去就ok,這道理是對(duì)的!在一個(gè)分工明細(xì)......

        JAVA網(wǎng)站開發(fā)與優(yōu)化如何提高代碼運(yùn)行效率

        JAVA網(wǎng)站開發(fā)與優(yōu)化如何提高代碼運(yùn)行效率 可供程序利用的資源(內(nèi)存、CPU時(shí)間、網(wǎng)絡(luò)帶寬等)是有限的,網(wǎng)站優(yōu)化的目的就是讓程序用盡可能少的資源完成預(yù)定的任務(wù)。網(wǎng)站優(yōu)化通常......

        部門代碼

        部門代碼 總經(jīng)理:GMD 行政人事部:AD 技術(shù)部:TD 發(fā)展部:RDD 宣傳部:PD 策劃部:SD 工程部:ED 造價(jià)部:EC 財(cái)務(wù)部:ACD 投融資部:FD 戰(zhàn)略計(jì)劃部:SPD 招標(biāo)合約部:BCD 審計(jì)部:ADD 招商部:MD 研......

        代碼檢查

        代碼檢查 摘要:代碼檢查是白盒測(cè)試的一種靜態(tài)測(cè)試方法,是眾多軟件測(cè)試方法中發(fā)現(xiàn)軟件缺陷最有效的方法之一。本文結(jié)合國內(nèi)外學(xué)者在相關(guān)領(lǐng)域的研究情況,介紹代碼檢查相關(guān)的基本......