❶ 腳本的知識
一、啥叫腳本呢?
其實就是一段代碼,作用就是:這些代碼通過你的瀏覽器來鼓搗一下你的機器。這樣,你就能通過點一下滑鼠就可以發點歡迎詞、發點情話啥地了。
二、怎麼在聊天室放腳本呢?
<script src=您的腳本存放地址></script>
把這段代碼放你右下角鏈接里就可以了。
三、你瀏覽器咋會知道你放腳本了呢?
因為每段腳本務都放在<script>和</script>之間了。一見到<script>字樣,瀏覽器就會當成腳本來分析了。純屬瀏覽器的條件反射之一。
四、我從寒江腳本里學到啥了?
1、定義一個變數:
var a=1 的意思就是:定義一個變數a,並給a賦值為1
2、為啥要定義變數呢?
這話說的,幹活不用人哪行啊?其實定義變數就是事先找幾個人來,留著以後派給任務。
3、定義一個數組變數
var a_name_filter = new Array(。。。);
其實數組變數也是相當於找人,只不過這個人可以干好幾樣活而已(屬於能人類型的)。
4、定義功能函數
function a(){}
這相當於各項任務。事先定義的變數一般會在這里體現出來。當你在腳本里寫上a()之後,瀏覽器就會條件反射了(執行a功能函數中的語句)。
五、腳本的說明文字
啥東西都得有個說明書不是,腳本也得有呀,而且這個說明書最好要寫在代碼里(要不過後自己都看不明白了,多丟人啊。)
那麼怎麼寫說明呢?
1、某行代碼的說明可以放在此行代碼的最後面,在行尾打上//然後再寫入文字說明就可以了。
例如:
var room_name="悠悠檸檬情"; //聊天室名字
2、如果文字太多,一行寫不下那咋辦啊?
在此特殊說明一下,其實盡管代碼一般都是英文字元,但說明文字絕對可以兼容現代漢語以及文言文的,(←廢話)
如果是多行說明文字,可以這樣寫
//---------------------------------------------
//孤鶴腳本0.9999版just for my Love
//
//失去,也是一種篤定。
//
//就算擁有的時光,是那麽短暫;
//
//能夠無怨無悔地為一個人付出,就是幸福。
//---------------------------------------------
看著感覺還不錯吧?(^!-)
當然,還有更方便的寫法,就是在說明文字的第一行寫上/*,再在最後一行寫上*/。例子如下:
/*
孤鶴腳本0.9999版 just for my Love
小薇啊,你可知道我多愛你,
我要帶你飛到天上去
看那星星多麼美麗
摘下一顆,輕輕送給你。。。
*/
本人強烈建議,不要在腳本里寫歌詞,因為有可能導致看腳本人的情感波動。:-)
六、數據類型
數據類型包括:字元串、數值、布爾三種類型。
javascript帶有數據類型強制轉換功能,這對編寫者(尤其是對喝完酒寫代碼的人)來講是一個大大的好事。要不你還得記好多的數據轉換函數。
七、JScript的運算符
關於運算符的講解,將會涉及很多很多的知識,請小學沒有畢業的同志自學完成小學課程之後再看。
計算 符號 位運算 符號
-------------------------------------
負值 - 邏輯非 !
遞增 ++ 小於 <
遞減 -- 大於 >
乘法 * 小於等於 <=
除法 / 大於等於 >=
加法 + 等於 ==
加法 + 不等於 !=
減法 - 邏輯與 &&
等於 =
例一:
x=1+2
=======
答案:x被賦值為3
例二:
if (mylove=="小薇") {
document.write("回答正確,您屬於多愁善感型的")
} else {
document.write("回答錯誤!您屬於沒事找抽型的")
} ======
運行結果:
如果變數mylove的值為「小薇」,那麼,程序會執行document.write("回答正確,您屬於多愁善感型的")
否則,則執行document.write("回答錯誤!您屬於沒事找抽型的")
我學到的腳本知識(二)
今夜,讓我靜靜地想你(詩配JS語句篇)
今夜,我悵坐一隅靜靜地想你,
想知道你在做什麼,想知道你有沒有在想我;
一、if...else 語句[根據表達式的值,有條件地執行一組語句。]
我想你,你想我嗎?如果我不想你,那麼你還想我嗎?
用語句控制如下:
if 我想你 {你想我嗎?} else{那麼你還想我嗎?}
通常都先定義一個變數來做為判斷條件。
a='我想你';
if (a=='我想你') { b='你想我嗎?'} else { b='那麼你還想我嗎?' }
二、do...while 語句[第一次執行一個語句塊,然後重復循環的執行該語句塊,直到條件表達式等於 false。]
折九百九十九隻紙鶴我就會去睡的,
用語句控制如下:
i=1;
do
(折一隻紙鶴;)
i=i++;
while(i<999)
三、switch 語句[當指定的表達式的值與某個標簽匹配時,即執行相應的一個或多個語句。]
我想你,
(假設前面已經為a賦值)
switch(a){
case 想為你點亮一盞桔色的燈,:
靜靜守候著你疲憊的歸來;
case 想為你遞上一杯溫熱的香茗,:
緩緩驅散你臉上的倦容;
case 想用我溫柔纖細的手指,:
輕輕撫平你眼角的皺紋;
case 想用我輕柔溫情的呢喃,:
撫慰你驛動不安的心靈。;
}
然後靜靜地看著你……
我祈求,祈求這一刻的寧靜、永恆。
四、for 語句[只要指定條件為 true 都執行語句塊。]
(第二條語句也可以用FOR語句來表達)
用語句控制如下:
for (i = 1; i < 999; i++) {
(折一隻紙鶴;)
}
五、while 語句[執行一個語句,直到指定的條件為 false。]
(第二條語句也可以用while語句來表達)
折九百九十九隻紙鶴我就會去睡的,
用語句控制如下:
var i=1;
while (i < 999) {
(折一隻紙鶴;)
i++;
}
我學到的腳本知識(三)
前二篇,已經把腳本的基本知識粗略地介紹了一下,基礎知識也介紹得差不多了,再有一些不太常用的只能在實戰中總結了。
以下結合寒江322腳本解釋一下。
粗看了一下寒江322腳本,大概共分四個部分
第一部分:變數定義部分,前516行。
第二部分:加入新的界面元素
第三部分:重新設置原有界面元素的樣式
第四部分:系統初始化
=====第一部分====
這部分內容於「我所學到的腳本知識(一)」中有介紹。
其實就是定義了一些變數(包括數組變數),這些定義好的變數會在下面的幾個部分中使用。
例一:
var room_name="心夢如語";// 房間名稱
定義了一個變數:room_name,並賦值為:心夢如語
注意寫法:
var 變數名 = 變數值 ;
定義一個變數,前面一定要有var,每句結束時要有";"符號。
後面的「// 房間名稱」部分為說明文字,在腳本執行時將被自動忽略。
例二:
// 按鈕背景圖片 寬度,文件名
var a_btn_pic = new Array
( 17, "btn17.gif",
18, "btn18.gif",
19, "btn19.gif",
35, "btn35.gif",
46, "btn46.gif",
70, "btn70.gif"
);
定義一個變數數組,每個值中間以「,」分隔。
其實也可以寫成如下形式:
var a_btn_pic = new Array(17,"btn17.gif",18,"btn18.gif",19,"btn19.gif",35,"tn35.gif",46,"btn46.gif",70,"btn70.gif");
這樣寫的話,腳本的體積會減小,但腳本的可讀性會差一些。
例三:
//——圖片——
var a_picture = new Array
( "你好", "pic/p001.gif",
"鼓掌", "pic/p002.gif",
。。
。 )
與
//——背景色——
var a_bkcolor = new Array
( "FFFFFF",
"fdd242",
"f8fead",
"a0e4a0",
。。
。 )
只是寫法的格式不同,其實都是定義變數數組。
好了,到現在為止,你已經完全理解了寒江322腳本的前516行的內容了(322腳本共1956行)。恭喜恭喜
我學到的腳本知識(四)
前三篇已經把腳本的基本知識粗略地介紹了一下,基礎知識也介紹得差不多了,再有一些不太常用的只能在實戰中總結了。
以下結合寒江322腳本解釋一下。
以下內容由發布之日起執行,如有與國家法律法規相抵觸,請按寒江322腳本之標准執行。
粗看了一下寒江322腳本,大概共分四個部分
第一部分:變數定義部分,前516行。
第二部分:加入新的界面元素
第三部分:重新設置原有界面元素的樣式
第四部分:系統初始化
=====第一部分====
這部分內容於「我所學到的腳本知識(一)」中有介紹。
其實就是定義了一些變數(包括數組變數),這些定義好的變數會在下面的幾個部分中使用。
例一:
var room_name="心夢如語";// 房間名稱
定義了一個變數:room_name,並賦值為:心夢如語
注意寫法:
var 變數名 = 變數值 ;
定義一個變數,前面一定要有var,每句結束時要有";"符號。
後面的「// 房間名稱」部分為說明文字,在腳本執行時將被自動忽略。
例二:
// 按鈕背景圖片 寬度,文件名
var a_btn_pic = new Array
( 17, "btn17.gif",
18, "btn18.gif",
19, "btn19.gif",
35, "btn35.gif",
46, "btn46.gif",
70, "btn70.gif"
);
定義一個變數數組,每個值中間以「,」分隔。
其實也可以寫成如下形式:
var a_btn_pic = new Array(17,"btn17.gif",18,"btn18.gif",19,"btn19.gif",35,"tn35.gif",46,"btn46.gif",70,"btn70.gif");
這樣寫的話,腳本的體積會減小,但腳本的可讀性會差一些。
例三:
//——圖片——
var a_picture = new Array
( "你好", "pic/p001.gif",
"鼓掌", "pic/p002.gif",
。。
。 )
與
//——背景色——
var a_bkcolor = new Array
( "FFFFFF",
"fdd242",
"f8fead",
"a0e4a0",
。。
。 )
只是寫法的格式不同,其實都是定義變數數組。
好了,到現在為止,你已經完全理解了寒江322腳本的前516行的內容了(322腳本共1956行)。恭喜恭喜
下面我寫一點題外的話。腳本做為一種解釋性的語言,與真正的程序還是有一定的差距的,從我的感覺來看,寫腳本是一種應用,而寫程序是一種開發。沒有腳本可以寫成一個系統,而程序可以,另外,寫程序有很多的藝術性在裡面。就象畫一幅山水畫一樣,創作的是一種意境,而不是一顆樹的外形。寫這些話的目的是想表達我的一個想法:腳本既然只是一種應用,那麼就把它共享吧,不要讓它帶有更多的商業目的。
我所學到的腳本知識(五)附:出擊代碼
從第517行開始,會涉及到JS語句了。其實語句也沒有什麼,萬事開頭難,已經學會500多行了,還難個啥呀。
(部分同志可能還對第(三)篇的內容還暈乎著呢。今天開始就會讓你一點點清醒了。)
先打個比方:
1、把寒江腳本看做一座樓(注意:是樓,不是平房,有住「別野」的一邊涼快去)
2、這座樓分四層(就是我前所說的,332腳本的四個部分。)
3、每層樓會有多個房間(就是各個功能函數)
4、每個房間又會有具體的工作和職責(就是各子功能函數)
5、每個房間里的人,暫且看做各個變數吧。
下面以一段332腳本的函數來說明一下
function add_new_element()//加入新的界面元素
{ 。
。
。
write_button("","歡迎",409,60,35,20,"","快速歡迎","autosend(a_welcome)");
。
。
。
}
這段代碼的add_new_element 是一個功能函數(也就是自己定製的一個任務,目的就是在聊天室的輸入區加入新的界面元素。)
從「{」開始,到「}」結束
在「{」與「}」之間的內容是add_new_element 功能函數的各項具體工作。例如:write_button(...)、write_bkcolor_select(...)、
write_select(...)等等。
而write_button(...)這些又是一些功能函數,這一函數的具體功能是在腳本第1010-1014行的
function write_button(name,value,left,top,width,height,color,title,action) 中。
而1010-1014行的
function write_button(name,value,left,top,width,height,color,title,action)//加入執行一個函數的按鈕
{ write_button_style(name,left,top,width,height,color,title,"");
document.write(' onclick="' + action + '">'+ value +'</button>');
}
這段代碼又包含了write_button_style(...)功能函數。
這樣一層套一層的,有時容易給人套迷糊,但其實這就象是一個大工作,裡面又分很多小的工作,每一個小的工作裡面又會分為幾個小
的工作一樣。
你晚上回家做飯的時候,不能光做飯不做菜吧?所以做飯其實是做飯和做菜兩樣工作。做菜也不能就一個菜吧?(那也喝不進去小酒啊
),標准再低,也得弄個四菜一湯啥的呀,這每道菜就又是一項工作了。[依吾政府提醒廣大社員:喝多酒有害身體健康!]
那麼為什麼有些功能函數後面的括弧里要加那麼多字母、數字呢?這些字母和數字就是第一篇我們提到的變數,它的作用就好像某一項
任務在分配之前先指定幾個人去做一樣。
象 write_button_style(name,left,top,width,height,color,title,"");
的意思就是:write_button_style這個任務指派name,left,top,width,height,color,title,""這幾個人去做,最後一個""的意思是空缺
,因為每個功能函數是事先定義好的,本來需要五個變數的,你非得派四個變數去,那對不起,你得寫一個""來表示缺一個變數,(到
時候算獎金也得多給一份不是。)
至於具體的瀏覽器怎麼去找那段代碼,怎麼去執行,你就不用操心了,瀏覽器會象領導查檢勞動紀律一樣,從頭走到尾。(領導的事最
好別管,把自己的工作干好就成,出了事讓領導去兜著。)
以上這段如果看明白了,那332腳本裡面的功能函數你就都可以理出一個大體的思路了。至於細節問題如「typeof(parent.r.listhtml)
」「document.inputform.USER...」這些都先不用管。
❷ 課件的腳本應該怎樣製作
怎麼設計課件腳本?
目前課件已廣泛應用到我們的教學中,廣大教師對課件並不陌生,但在課件製作過程中忽略了一個關鍵問題——腳本,腳本是製作課件的前提,就像一部影片需要有一個劇本,那麼你想要製作課件,首先就要先有腳本。作為教師的我們,並不要求人人都能做出精美的課件,但至少自己要會設計課件的腳本,通過腳本,能把自己的想法與課件的製作者進行溝通,從而使課件達到你最初的設想。即使你自己製作課件,也能做到綜觀全局,有的放矢,減少重復勞動。所以說,我們可以不會做課件,但決不能不會寫課件腳本,那腳本到底有什麼樣的作用呢?怎樣寫腳本呢?寫腳本應注意哪些問題呢?
現在,我就根據自己的一些體會,以及自己在這方面的一些嘗試和實踐,談談多媒體課件腳本的設計,以作拋磚引玉的目的。
一、為什麼要設計腳本,腳本與課件有什麼關系。
要製作出方便、實用、效果好的課件,除了要有較好的製作技術外,關鍵在於創意,即根據教學內容和教學要求,設計出符合教學規律,能激發學生興趣,能揭示教學重點或難點的課件。而腳本正是創意的體現,是創意的初級表達。編寫腳本的目的之一是為了指導製作者去進行課件製作,雖然我們有關於整堂課設計的教案,但教案主要是由學科教師按照教學過程的先後順序,將知識內容和呈現方式描述出來的一種形式,它還不能作為課件製作的直接依據。課件製作者對計算機軟體很精通,但不一定了解各個學科內容和教學設計的具體問題,因而設計者必須交給製作者一套製作腳本,以確保其製作時有據可依。
製作腳本對課件的製作有著很重要的意義。高質量的製作腳本是課件開發成功的保障。腳本是溝通課件的構思者和製作者的橋梁,它為課件的技術製作提供了依據。
二、 怎樣設計腳本?
設計腳本是一個連續的工作,在整個過程中,主要要完成以下幾個步驟。
(一)明確教學目的,分析教學內容,進行合理選題
眾所周知,要製作一個課件要花費大量的人力和時間,如果最終的效果不能符合實際教學要求,也就失去了計算機輔助教學的意義,所以課件作為教育教學的一種輔助工具,它的設計思想一定要與教學目的要求一致,與教學的整體設計一致,為整體教學服務,這樣才能達到輔助的效果。於是這就要求我們在設計課件腳本之前應深入理解教學大綱的教學要求,合理選題。
選題是指選內容,也就是說,你的這堂課,你選擇那些方面,或哪些要點用課件來表達。課件從內容上分一般可分為兩種,一種是貫穿整個教學過程的,它是線型的,另一種是點型的,主要表達教師選定的幾點內容。不管是哪種類型,我們都應注意,並不是所有的教學內容,都非用計算機不可,教學過程中出現的有一些問題在黑板上解決更妥當,用計算機模擬現實是不得已而為之,如果某一問題用實物演示效果好,我們就不必在課件中去表達,反而會弄巧成拙,變成傳統教學的翻版。在腳本的設計中,很多教師很容易把課件設計成課本上的例題、練習、概念等全都搬到計算機屏幕上,用計算機屏幕代替黑板,這樣實際上是一種新的滿堂灌式教學。
一般說來,我們應該盡可能地將那些既能夠充分發揮計算機功能又能有效完成教學要求、提高學生學習能力的重點、難點性內容作為製作的題材。
(二)結合教學內容,選擇課件形式
課件形式是指課件對教學內容的呈現方式,或者說是課件的主要側重點,隨著多媒體教學在教育教學方面的深入開展,以及一些教育工作者的探索和製作,目前,存在的多媒體課件的主要形式有:1. 動畫模擬型;2. 圖形變化型;3. 實時控制型;4. 應用題庫型;5. 智能專家型;6. 網上教學型。
各種課件形式都有不同的特點和優勢,也有各自的缺點和不足,選擇那種課件形式,要看本節課的具體需要。當然,真正一節優秀的課件課,並不只是運用上述某一種形式,而是實現多種形式與傳統教學的組合,共同完成教學任務。在課件運用中,有些教師就因為過多的使用計算機來代替傳統的教學模式,而忽略了直觀的教具、實驗的動手操作和其它電教媒體的使用,所以達不到預期的教學效果,比如課件呈現資料時應講究畫面簡潔大方,要給屏幕留出適當的空白,使學生獲得視覺的美感,切忌一次性呈現資料太多,而使畫面過於擁擠;課件中濫用音樂,也會分散學生的注意力。一節好課,一定是恰當地使用幾種媒體或是幾種媒體的合理組合的一節課,所以在課件的組織形式上,就應利用各媒體的特有優勢服務教學,為學生提供多樣的外部刺激,激發學生的學習興趣,最大限度的提高學習效率。所以在設計腳本的過程中應充分考慮課件形式的合理運用。
(三)設計課件內容和操作過程
課件的流程設計是整個腳本設計過程中的主要也是最重要的環節。在這個過程中,我們要在前兩個環節的基礎上,對課件的具體內容和操作進行研究。包括界面的元素與布局,頁面的時間長度及切換方式、人機交互方式、色彩的配置、文字信息的呈現、音響效果和解說詞的合成,動畫和視頻的要求以及各個知識節點之間的鏈接關系等等。
其主要內容主要包括兩方面:
(1)課件呈現的內容
①具體內容
課件呈現的內容實際上也是我們課堂中要用的東西,主要有:
文字信息:標題、文本
音頻信息:背景音樂和以及解說詞
視頻信息:動畫或錄像
這些是整個課件的主角,我們要進行精心選擇,我們的依據便是你的教學設想,選擇這些內容的時候,我們一定牢記自己的教學目標和整堂課的設想,時時想到我需要什麼,學生需要什麼,而不是課件需要什麼。
為了使課件達到我們的設想,我們還要在精心選擇的基礎上進行合理的優化,其目的是為了達到最好的教學效果。對於音頻信息也要仔細考慮,哪個地方該要,哪個地方不要,哪個地方需要背景音樂,哪個地方需要解說,都應該做到心中有數,同樣的,視頻文件也需要合理的優化。
②組織形式
在設計腳本時,我們還要對課件所要呈現的各種內容進行有機組合、分析,並安排好各個知識點的關系和呈現順序。一般說來,我們一堂課可分為導課、新課、鞏固三個階段,在課件內容分析時,我們也可把各個知識點分成這幾部分,並安排在不同的模塊中,一方面提高課件的操作性,另一方面也便於課件製作過程中的修改和鏈接。當然,對於點型的課件來說,我們只要安排好各個知識點之間的位置和鏈接就行了。
(2)課件的操作過程
課件的操作過程是要在課件內容分析的基礎上,具體到課件流程中具體安排,主要有這三方面的內容:
①屏幕的外觀設計
在這個方面主要考慮整個課件的風格以及各個頁面的元素和布局,在設計課件風格的時候,我們一定要考慮課件的內容,做到內容和形式的密切統一。一般來說,我們在設計腳本是只要把握大概的布局就可以了,至於細節上具體要用什麼顏色搭配什麼顏色,要在課件製作的過程中多次比較才能決定。
②各元素的內部鏈接關系
因為一個課件不可能像流水線一樣是單一方向的(這樣的課件在實際中卻存在多多),因為這樣的課件非常不利於操作,某一環節出錯,就需要從頭開始,顯然,這對於課件操作是很不利的。因此,我們需要對課件內部的各元素之間進行合理的鏈接。在腳本設計時,我們就應該考慮它們之間的隸屬、鏈接關系,這樣,能夠幫助自己理清思路,利於課件製作者的實際製作和課件程序的維護。
③人機交互機制
如果你對課件製作有一定的了解,那麼我想對這個內容肯定很熟悉。人機交互方式因不同的軟體方式也不同,但一般都有按鈕交互,熱區交互,等待等方式,在設計腳本時,應根據你的實際需要考慮選擇適當的方式。
(四)撰寫課件腳本。
撰寫課件腳本的過程,實際上是把我們在設計腳本過程中的各種各樣的想法書面表達出來的過程,這也是課件腳本設計的最終成果的體現。這個環節貫穿於整個腳本設計的過程。
俗話說,「磨刀不誤砍柴工」,只有保證了腳本的質量,做課件時就會有事半功倍的結果。
三、 設計腳本的過程中要注意哪些問題?
一個精美的課件必定有一個優秀的腳本,蹩腳的腳本再高明的製作者製作出來的也只能是劣質的課件。我們在腳本設計時主要注意以下幾個問題:
1、腳本不是教案。
在我接觸的一些腳本中,很多是教案式的,也就是在他設計的腳本中,所描述的過程就是整堂課的過程,看起來似乎很完整,很具體,其實,這並不利於課件製作者製作課件,因為他需要的不是課的內容與過程,而是課件的具體操作過程。
2、腳本變成簡單的資料堆積。
在這種類型的腳本中,在文科中比較常見,在這種類型的腳本中,幾乎全都是課件所需的材料,而關於這些材料的組織以及它們如何出現或哪裡出現卻很少。這種腳本對於課件製作也是沒有多少價值的。
3、多多和課件製作者溝通。
腳本的設計是一個連續的過程,不是一次就能解決的,需要你不斷的和課件製作者溝通,了解製作軟體的優勢和劣勢,並積極聽取製作者的意見(因為製作者有多次製作的經驗,在某些方面有獨特的見解),甚至在課件製作的過程中也應該不斷的優化腳本的質量。
4、盡量熟悉課件製作者所用的軟體
高質量的製作腳本是課件開發成功的保障,它為課件的技術製作提供了依據。工欲善其事,必先利其器。在課件製作中我們應該切實重視腳本的作用,因為我們的最終目的是把課件應用與課堂,提高教學質量與效益,全面提高學生的素質,促進應試教育向素質教育轉變。
❸ 關於腳本的知識 詳細點
游戲業中的腳本
腳本不是游戲業的新技術,但腳本為業外的人所知悉,卻應歸功於《魔獸世界》(以下簡稱Wow)在世界范圍的流行。通過Wow偉大的自定義界面系統,Lua這一腳本語言一舉成名天下知。
雖然Lua的出名有點橫空出世的感覺,但游戲業內早就使用腳本來開發游戲了。即便是在國內,我們所熟悉的網游大多數是用腳本開發的。此前已有人士透露,網游的長青樹《夢幻西遊》和《大話西遊2》就大量應用了腳本技術;特別是《大話西遊2》,比Wow早幾年做了基於Lua腳本的游戲開發。可以說,國內與國外在腳本技術上並不存在差距,大家都是站在同一起跑線上的,這為國內游戲行業趕超國際水平提供了強大的保障。
回顧過去,我們發現單機版游戲時代很少聽到腳本這個詞。那麼,為什麼在網游時代腳本成了業界寵兒?原因是多方面的。比如在單機時代,無論游戲機還是PC的性能都非常低下,需要具有更高執行效率的編譯型語言來「壓榨」機器性能。但硬體性能的提升並不是腳本流行開來的決定性因素,真正的原因是市場的需要。
網游時代的市場需求快速變化、競爭激烈,如果延用單機時代一年半載才出一個新版本的開發方式,那必然會被市場淘汰。正是這種快速變幻的市場需要和低效的開發工具之間的矛盾,引發了開發工具的革命——腳本語言風生水起。腳本的興起因為游戲業中傳統的編譯型語言(asm/C/C++)的性能優勢在硬體性能大幅攀升的今天已經不復存在。在網游時代,游戲業中的主要矛盾已經由性能低下的硬體與游戲執行效率之間的矛盾轉變為快速變化的市場需要與低效的開發工具之間的矛盾,腳本在網游時代的輝煌是歷史的必然。
除了市場和硬體因素外,還有一點不能忽略。那就是C/C++進行游戲開發的高成本性和高項目風險。隨著java/.net逐年流行,大學生中學習C/C++編程語言的人越來越少。物以希為貴,人亦如是。C/C++程序員新鮮血液補給少,而網游開始流行,巨大的網游市場需求造成大量的人才空缺,這時也就帶來了C/C++的高成本。即便是資本雄厚的公司,可以僱傭大量C/C++程序員開發游戲,也不能無視C/C++高級特性和高度的靈活性帶來的高項目風險。C/C++是易學難精的編程語言,應用在大型項目的時候極容易因為程序員的水平參差不齊而引起溝通不暢,還有濫用的高級特性也容易引入大量的bug。游戲公司希望找到一個方案以解決高成本、高風險的問題——這個方案就是在游戲中使用腳本。
腳本的現狀
腳本解決了C/C++無法解決的開發效率難題,而且降低了成本和風險。腳本在游戲業中就此蓬勃地發展了起來,現在腳本技術已經成為游戲業中不可或缺的一環。橫看當前腳本技術,一片大好形勢就如同八九點鍾的太陽。不僅語言百家爭鳴,而且書籍也層出不窮;不僅在游戲業開花結果,在web等其它應用也大放異彩。
首先,我們來看看現在比較流行的腳本: Python、Lua、ruby和Erlang。Python和Lua是網路游戲開發的中堅力量;ruby憑借ruby on rails的web開發框架的強勁力量,不可小瞧它在游戲業的前途;erlang在高並發性上的原生優勢吸引了無數追求高性能的網游伺服器的開發人員的目光。
然後讓我們來看看書籍和資料方面。大家都知道,文檔對語言的普及起到正向催化劑的作用,甚至可以看作是語言的有機組成部分,必不可少。Python經過基金會的多年經營和在NASA、Google得到重用的原因,書籍方面比較豐富;ruby隨著RoR的流行水漲船高,這兩年行情看好,書籍也出版得越來越多了;反觀Lua,雖然流行度一直走高,但出來的書卻沒有幾本,跟他苦澀的介面設計和缺乏針對大型應用的原生支持不無關系;Erlang是典型的少眾語言,但隨著多核時代的來臨和高並發網路應用的需求,有著光明的發展前景,現在《Programming Erlang》等書已經在策劃出版了。
最後把焦點重新聚集到游戲開發行業中來,可以發現腳本言語已經在游戲業中開發結果,碩果累累。除了前文提到的《魔獸世界》和網易經典「西遊系列」都使用了腳本外,現在大多數流行程序都使用腳本,如騰訊的《QQgame》和搜狐的《天龍八部》等。現在的游戲引擎也都提供了腳本介面,無論是商業的Unreal引擎還是開源的OGRE,無一例外。
腳本的優勢
腳本在游戲業中找到自己的一席之地,是因為網游市場需要一個快速開發方案來避免C/C++開發帶來的項目高成本和高風險。那麼,具體而言腳本相對於C/C++這類編譯型語言有什麼優勢呢?
一、易於學習、代碼可維護性強。通常腳本的語法都非常簡單,也沒有太多高階的特性,學習的門檻較C/C++低得多。如Python號稱只需要花一個下午即可學會。這使得游戲開發公司可以招聘完全沒有腳本編程經驗的新手,通過低成本的培訓,迅速走上工作崗位。除易於學習外,腳本代碼也有更好的可維護性(盡管寫出沒有人看得懂的Lua代碼也非難事)。因為腳本不會有很多高階特性(如C++里的模板元編程就是高階特性),所以腳本程序員有更多精力關注架構、模式、重用和測試,從而提高了代碼的質量;相應地,沒有那麼多讓人困惑的高階特性,也使得代碼「簡潔」不少。
二、降低開發成本。如第一點所言,腳本易於學習,使得游戲開發公司可以大量應用新手,是降低成本的有效手段。那麼如何來保證新手寫的代碼的質量呢?這需要我們辯證地看問題。從經驗上看新手寫的程序無論用什麼言語,bug肯定不少。但一個C新手編寫的代碼和Python新手編寫的相同功能的代碼相比,C版本應該會有更多的bug。由於C程序需要編譯,而腳本程序(大部分)都可以直接解釋執行,所以在排除bug方面腳本也有先天的優勢,這使得腳本在低成本的同時能夠更好地保證代碼質量。
三、形成人才壁壘。軟體開發行業是一個動盪的行業,無數的程序員都在跳槽和謀劃跳槽的狀態中過日子。使用腳本開發,形成人才壁壘是游戲業減少人才流動的有效手段。因為腳本現在除了在游戲業中大紅大紫外,並沒有在其它行業形成殺手級應用(雖然在web開發方面也有燎原之勢,但終究不似在游戲業中的地位高尚)。這就讓游戲程序員很少會考慮非游戲業的職位,而其它行業的程序員卻可能會因為腳本的易學習性轉投游戲業。腳本除了能有效形成行業間的人才壁壘外,也能有效地形成企業間的人才壁壘。因為現有的腳本種類繁多,不同公司往往有不同的選擇,甚至有些公司使用自己開發的腳本語言。程序員從公司A跳槽到公司B可能就要學習使用另一種腳本,這提高了跳槽的成本,從而使人才流動減少。
腳本的發展趨勢
依照目前的趨勢來看,腳本語言也一定會更加普及開來,而且會滲透到其它行業中去。隨著網游從業人員的增長,腳本程序員也一直相應地增長著,而且Web2.0熱潮引起的網路需求,也促生了一批批新的腳本程序員。網游市場就像一個正在滾動的雪球,帶動著腳本的普及。
隨著腳本在游戲業中越來越流行,市場就會需要更高的生產效率。腳本雖然一定程度上緩解了市場與生產工具之間的矛盾,但仍然不夠徹底。由於市場競爭趨於激烈,而網游在很多功能實現都相差無幾:如網路、資料庫、圖形甚至部分邏輯。這必然會催生網游生產組裝化——大量的中間件相互組合形成新的網游。從現在來看,Bigworld、PhysX和Unreal等都是比較流行的網游中間件。腳本語言是粘合各個中間件的良好膠水語言,所以隨著網游生產組裝化,腳本有良好的發展空間。
那麼,當腳本發展到如日中天的時候,會取代C/C++這些編譯型語言嗎?我認為不會。腳本語言和編譯型語言在生產效率和執行效率上各擅勝場,網路游戲既需要能快速應變的腳本,也需要能快速執行以提供更絢麗游戲效果的編譯型語言,在未來,它們之間會保持長久的和諧互補關系,相輔相成。
結語
綜上所述,網游時代是上帝賜予腳本語言的絕好時機,腳本語言很快將迎來自己光芒四射的世代。腳本語言擁有編譯型語言無可比擬的生產效率優勢,它們將並肩奮戰在游戲最前線
❹ 給大家分享幾個常見的腳本形式
常用腳本一∶拋出問題 +分析原因+ 引導互動 +具體講解
案例:"播放量卡在 500,不是因為你的視頻拍的不好,而是因為你一直沒有用 xxxxx,點贊關注不然就刷不到我了,xxxxx 具體講解 xxxxx"
這種腳本模版適用於任何行業任何領域。先列出你所在行業的通病問題,然後把問題拋出,再告訴用戶遇到這種問題不是你的錯,是因為這個行業的亂象問題,不是因為你不聰明不仔細,而是這個行業的不為人知的潛規則,大多數外行人都會中招,隨後再引出自己方法論和干貨內容。這類腳本架構可以把一個行業的普通知識點,變成用戶更容易接受採納的建議,因為你有站在用戶角度思考問題,用戶能有被帶入感,而不是覺得你在純粹的說教。
常用腳本二∶技巧價值放大化+不勞而獲 + 具體講解 +案例證明
舉例∶"我只做了一個動作,播放量沖破700萬,點贊收藏不然就刷不到了"
一個簡單技巧或者簡單的方法工具就可以達到驚人的效果,本質是在利用著用戶不勞而獲的心理。浮躁的短視頻時代用戶越來越沒有耐心,越來越急功近利,一些所謂技巧型分享都會引起大量圍觀。為了後續腳本的合理性,你可以把這個技巧改為某種理念某種思維,為了吸引私域你可以把這個"技巧"改為一張思維導圖或者一份 PDF。然後再強調這張思維導圖的重要性這份PDF的實用性,通過這些工具你達成了哪些戰績等等。最好能有實際的截圖展示這樣才會更有說服力,在講解的過程中也可以同時讓個人IP更豐滿。
常用腳本三∶疑問拋出 +數據佐證
舉例∶"你知道只刷抖音也能分錢嗎? 99%的人都還不知道,xXXXXXXX,趕緊點贊收藏"
透露一個行業的信息差,然後再把數據絕對化,"99%的人不知道"、"95後絕對不知道"、"99%的杭州人都不知道"、"只有00後、10後才知道"等等。你認為大家都知道的信息,其實在外行眼裡這就是干貨,不要擔心信息差不夠超前,不要把該信息放到自己的圈層比較。
常用腳本四∶指出錯誤 +給到方法 + 引導互動舉例∶
"如果你還在親自給視頻配音手動添加字幕和音樂的話,那你就大錯特錯啦,高手們都在用XXX"
這類腳本的架構核心是用你的新方式去顛覆老辦法,或者用新思維代替舊思維。先否定用戶然後激起用戶的逆反心理心理,跟著你的節奏把視頻看下去。這類腳本框架結構適合真正有效的新方法或者個人的經驗絕招。要麼可以提高用戶效率節省時間,要麼是可以帶帶來明顯效果的改變。
常用腳本五:必備XX(必備XX可替換)+數字結構 +舉例清晰
舉例∶"分享5個自媒體必備神器,第一xxx;第二xxx;第三xxx;第四xxx;第五xxx;"
這類腳本框架輸出比較套路化,越是這種簡單明了型的方法論拆除越讓小白感覺有價值,有據可循,有法有依。
518學姐# 景緻育兒說 昨晚有個作品200W播放量。她聽校長的話抱著拍100條的決心,拍了97條視頻,又從裡面挑出來認為最好的發了22條,就有效果了。總有人問我,「老師,我什麼時候能火?」我想問的是你在這件事情花了多長時間~別人一天發1條、幾天發幾條,你是不是可以一天發幾條。短視頻這個事,就是只要你發出去就會有效果,就跟你發宣傳單一樣,你發越多,接收到的人就越多,客戶可能也越多~
❺ 電腦常識 腳本是什麼, 如何製作腳本
腳本(script)是使用一種特定的描述性語言,依據一定的格式編寫的可執行文件,又稱作宏或批處理文件。
常見的腳本語:言:Scala JavaScript,VBScript,ActionScript, MAXScript,ASP, JSP,PHP,SQL, Perl,Shell,python,Ruby, JavaFX,Lua,AutoIt等。
1、腳本簡單地說就是一條條的文字命令,這些文字命令是以看到的(如可以用記事本打開查看、編輯),腳本程序在執行時,是由系統的一個解釋器,將其一條條的翻譯成機器可識的指令,並按程序順序執行。因為腳本在執行時多了一道翻譯的過程,所以比二進製程序執行效率要稍低一些。
2、腳本是批處理文件的延伸,是一種純文本保存的程序,一般來說的計算機腳本程序是確定的一系列控制計算機進行運算操作動作的組合,在其中可以實現一定的邏輯分支等。