看板 BBSmovie 關於我們 聯絡資訊
※ 引述《DahilSaIyo (點點滴滴 只因為你)》之銘言: : 抱歉各為...小的笨拙小的蠢... : 就算爬了精華區也看懂了一些看不懂一大堆 : 首先... : 我已經按照精華區說明打了 : ^L#@d,G:next:#P (按方向鍵向下就跳到命名叫'next'的那一頁) : 失敗!!! : 請問我做錯了什麼... : 還有一個問題... : 空格鍵和Enter的指令是什麼阿? : 我找不到... 以下擷取自精華區z->3->1->15 小的這陣子在學習中 希望也對你有幫助 ----------------------------------------------------------------------------- pmore 的控制碼是寫成 ^L 注意這是分別打入「^」 (Shift-6) 與大寫「L」兩個符號的結果 ----------------------------------------------------------------------------- 1.1 畫面開始 ^L (播放 1.0 秒) ^L0.5 (播放 0.5 秒) ^L (與上張同 - 播放 0.5 秒) ^L10 (播放 10 秒) ^L0 (少於最短播放時間的一律會變為 0.1 秒) ----------------------------------------------------------------------------- 1.2 基本播放控制: 暫停 (2007 新增) ^LP 暫停播放 會讓該頁提示使用者按下任意鍵後再繼續。 範例: ^LP ----------------------------------------------------------------------------- 1.3 基本播放控制: 停止 ^LE 會直接在該頁停下來。 範例: ^LE ----------------------------------------------------------------------------- 1.5 隱藏控制碼 (2007 新增) *[30;40m^L 隱藏控制碼 範例: ==*[30;40m^L2.5 ==*[30;40m^LP*[m ----------------------------------------------------------------------------- 1.6 與傳統動畫相容 (2007 新增) ^LO= ^LO= 就是解決這個問題的。 (是英文的大寫 O 而非數字 0) 加了這行後等於幫使用者按了小寫 p (播放動畫),而且可指定時間。 適用於不想全篇改寫的舊動畫。 ==*[30;40m^LO=0.5*[m ============================================================================= 2. 互動式動畫 要談互動式的動畫製作前,有些觀念要先理解。 一個互動式的動畫不外乎兩大重點: 1. 取得使用者的輸入 2. 根據輸入作出不同反應。 在 pmore 要換畫面,先要知道每一張畫面是怎麼編號的,還有怎麼指定 跳頁的目標。 前面提過, pmore 動畫的每一張畫面都是從 ^L 開始的; ^L 畫面一 ^L 畫面二 ^L 畫面三 TypeOffset Type 可以想成「單位」,Offset 可以想成「編號」。 Type (單位) 可直接指定畫面(frame),或是頁數(page)、行數(line) 、別名 (named,詳見 3.4 畫面命名)。 每種單位的編號都是從 1 開始計算。 Type 的語法就是各單位的英文縮寫: f, p, l。 (named 格式 為 :xxx:) 有點複雜嗎? 直接來看例子吧: f1 => frame 1 (第 1 張畫面) p+2 => page +2 (往後 2 頁) :named: => named (尋找叫作 named 的畫面, 詳見 3.4) ----------------------------------------------------------------------------- 2.2 跳頁 ^LGcmd 跳頁 最自然的練習,就是由直接跳頁開始了。 跳頁(畫面)的指令叫 ^LG, 後面接個 cmd (參見 2.1 動畫編號方式) 常見的應用是無限重播的區段。 注意有跳頁指令時該頁本身不會顯示出來。 範例: ^LGf1 (跳到第一張畫面) ^LGf+3 (往後3頁 ----------------------------------------------------------------------------- 2.3 互動選項 ^L#key,cmd,text# 互動選項 初看有點複雜,其實只要掌握兩個原則就好了: 1. 每一個選項用 # 包起來,也就是 ^L#選項1#選項2#選項3# 2. 每個選項內的設定用逗號 (,) 分開,也就是 #設定1,設定2,設定3# 那麼,再來細看語法吧: ^L#key,cmd,text# key: 使用者可按下的快捷鍵 (只能單鍵,如 1 2 3 a b A B ...) cmd: 被選取後要執行的動作 (就是跳頁,見 2.1 動畫編號方式) text: 顯示在螢幕上的說明 (可省略) 範例: ^L#a,f1,首頁# 按下 a 時會跳到第一張畫面 key 省略時,系統會由前一個 key 來產生下個 key。 ^L#a,f1,這是a#,f2,這是b#1,f1,這是1#,f2,這是2# 這例子中,省略的兩個分別會變成 b 跟 2。 text 省略時,系統不會出現選項列。請記得在你的動畫中提示 使用者現在該作什麼事。 ^L#a,f1#,f2#,f3#,f4# 按 a 跳第一張, b 跳 2, c 跳 3, d 跳 4 而且沒有選項列 註: 選項列會不會出現實際上是看「第一個選項的 text」有沒有被省略。 也就是說, 註: ^L## 結尾要有對應的 # 包起來才行! 常見錯誤: ^L#a,f1,選項一#b,f2,選項二 <- 選項二無作用 註: ^L# 在執行時會依順序判斷按鍵是否符合條件。也就是說, 若有熱鍵重複出現則是前面的會被執行。 適當排列並與特殊按鍵 (見 3.1) 如 @a 合用則可作出「按 XX 鍵執行 YY,其它所有鍵都執行 ZZ」的效果。 ============================================================================= 3. 即時互動與進階 下面講的是更高級的特殊指令及應用, 主要是讓互動更進一步變為即時性的互動, 例如「在某時使用者按下某鍵才會有反應」的效果。 ----------------------------------------------------------------------------- NAMED KEY 特殊按鍵 有些鍵無法用標準的語法表示出來,所以 pmore 提供了一些特殊的名字。 此類按鍵表示法一律以 @ 開頭,後面接單一個字元,大小寫有別。 @u up 方向鍵(↑) @d DOWN 方向鍵(↓) @l LEFT 方向鍵(←) @r RIGHT 方向鍵(→) @b BS 倒退鍵 @H HOME Home @E END End @P PGUP PageUp @N PGDN PageDown @I INS Ins @D DEL Del 另外還有一個特別的叫 @a ALL/ANY 任意鍵 範例 ^L#@u,f1# 按↑時跳到第1張畫面 ^L#@d,f2#@a,f-3# 按↓時跳到第2張畫面, 其它任何鍵都往前跳3張畫面 選取鍵 (空白鍵與 ENTER) 的功能也無法改變,但有別的技巧 可以「使用」這兩個鍵。 對於每個 ^L# 指令來說,預設的選項就是第一個選項。 按下空白或 ENTER 就是「選擇目前選項」。 所以,只要在編輯指令時把 ENTER/空白 想讓它們做的事放在第一個選項即可 ----------------------------------------------------------------------------- ^LK## PRESERVE KEY 保留互動按鍵 當你開始製作即時性動畫時常會遇到一個問題 - 使用者在沒有互動的頁按了鍵使得動畫中斷。 所以有個特別的指令叫 ^LK, 保留按鍵 (也就是說,使用者按下這些鍵時 什麼事都別作。) ^LK 目前只支援保留按鍵給互動式選項 (^L#) 使用,所以語法就是 ^LK#keys# keys 為你要保留的鍵。 範例: ^LK#abc123# 保留 a b c 1 2 3 為互動所需要的鍵 ^L2.5 (此時使用者按 abc 123 都不會停下來) ^L#a,f1# ... 的動畫開頭最常寫的就是: ^LK#@a# 這樣除非使用者按下系統中斷鍵 (q,Q,Ctrl-C) ,不然什麼鍵都不會打斷你的 播放。 另外,由於 ^LK 只是設定系統而非動畫控制指令,所以你可以在它後面 再接上標準的控制語法。 範例: 下面兩個為常見開場法 ^LK#@a#2.5 停留2.5秒的首頁,設定本動畫不被任何鍵中斷 ^LK#@a#P 互動方法說明的首頁,設定本動畫不被任何鍵中斷 設定一次 ^LK 後會一直有效,直到下次再指定。 ^LK## 等於放棄所有指定的保留效果。 ----------------------------------------------------------------------------- 3.4 畫面命名 ^L:name: NAMED FRAME 畫面別名 互動式動畫有個特色 - 很快你就會發現畫面數量成長的速度大幅增加, 要管理各畫面的關係是個大問題。 相對編號 (f-2, f+10) 小動畫勉強可用,但是當你有一連串互動指令 都要跑到相同的結尾時,只要中間增減一張畫面就要到處改編號 - 非常的麻煩。 最簡單的方法,就是為畫面命名。 語法為用 :: 包起來的字串,只可使用英文字母及數字 (大小寫有別)。 範例: ^L:end: 本畫面的名字為 end 另外,由於 ^L:name: 只是設定名稱而非動畫控制指令,所以可以在它後面 再接上標準的控制語法。 ^L:home:P 設定此頁名為 home, 並在顯示內容後暫停。 若想跟其它非控制命令如 K## 合用,則 :name: 要在最前面 ^L:home:K#@a#P 設定此頁名為 home 、保留全部按鍵供互動使用、 並在顯示內容後暫停。 要使用有名字的 frame, 只要一樣用 :name: 來指定就好了。 :name: 格式屬於正常 cmd (見 2.1 動畫編號方式) 之一,所以可以 在 ^LG 跟 ^L# 中使用。 ^LG:end: 跳至叫 end 的畫面 按下 1 時跳至叫 opt1 的畫面 按下 2 時跳至叫 opt2 的畫面 按下 3 時跳至叫 opt3 的畫面 使用命名方式,則不管你中間增減多少頁,系統都能正確的跳頁。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.225.135.54
ForSinSoKing:用a搜尋piaip的文章、或者/搜尋pmore就有了喔^^ 10/06 11:56
pain0:可以借我轉嗎 10/06 23:49
qmi:精華區是說 歡迎大家轉錄 10/07 16:31
willy7954:借轉>"<..轉到自己的板上比較方便查詢~感謝 10/08 09:19
pain0:乾蝦 10/08 19:16