processing noun phrase举例

今天 ,做了很多更新及bug修復 (),目前尚未仔細閱讀其中的重大變革、更新及修復了哪些bug。
不過倒是先測試了是否可以正常輸入及顯示中文 (因為我有在做Processing的教學,所以這部份對我很重要,可以方便用中文註解的方式讓同學了解程式內容)
首先,2.1版讓您可以在偏好設定裡面直接指定要使用的字型(這非常方便,以往要打開preferences.txt檔來做設定)
不過,設定完後,回到PDE輸入中文,卻發生了悲劇:所有的中文字都交疊在一起了!!(以往的版本並不會)
而且,字跟字之間的間距也非常奇怪(包含英文字母跟符號),無法移到正確的位置
這時候回頭看看2.0.3版本,並不會發生交疊的狀況,字跟字之間的間距也是正常的。
PS. 目前已經發出bug issue到
希望可以解決這個問題。
要用 Processing 開發 Android app的話,除了
還有一些需要注意的事情,以及了解 Processing sketch 跟 Android sketch 不同之處
(這邊以 Processing 2.0.1為主,主要參考來源為: )
以下是摘要筆記:
從 Processing 2.0b7 開始,在 sketch 所在資料夾下可以新增一個 res 資料夾,並將檔案放在 res 資料夾中,然後在 Android build 的過程中也會複製該 res 資料夾內容到最終的 res 資料夾。
但要注意的是,這個複製過程是在 build 過程結束 之後 做的,所以必須確定原始 res 資料夾中沒有跟 Processing 將使用到的檔案 (例如:default layout, icons, ...等等) 同檔名,不然的話就必須確知自己在做什麼,以免發生悲劇。
Android 的 stack 似乎很淺,也許大約只能做32個 stack call,所以可能遇到 StackOverflowError 的錯誤訊息。(但同樣的程式碼在 Processing Java 模式卻沒有問題)
不能將 .gz 檔放在 data 資料夾或是 assets 資料夾,因為 Android 會壓縮那些檔案。
顏色精準度在大部分 Android 裝置上是受限的,例如:不是所有的 Android 裝置都支援 full 24-bit color。這特別對漸層、顏色細節度高、或是使用很多透明度的 sketch 有影響。
當使用漸層時,可能會看到多個顏色條帶。或是使用透明度時,可能會看到類似光暈或是視覺上不必要的顏色加工。這是因為為了在受限的螢幕上達到漸層或透明度的效果,所作的數學運算的結果。
使用 createFont() 會比 loadFont() 好,能夠增進文字呈現的品質,特別在 2D rendering 時。
-可以使用 PFont.list() 來獲得系統可以使用的字型列表,然後選擇其中一個來使用。或是把 .ttf 或 .otf 檔放在 data 資料夾中來使用
Processing sketch 跟 Android sketch 不同之處
計畫以後會納入 touch event 跟 gesture events 的 API (目前沒有)
使用 event 相關的 class (例如:Event, KeyEvent) 時,必須詳述使用的是 android 相關的 event,如下:
import android.view.KeyE, import android.view.MotionE 等
可利用下列方法取得 android 原生 MotionEvent class
import android.view.MotionE
void mouseDragged() {
MotionEvent me = (MotionEvent) mouseEvent.getNative();
// code here, like me.getHistorySize() and other Android-y things
要取得 touch event 可以利用下列方式:
import android.view.MotionE
String touchEvent = "";
// string for touch event type
float pressure = 0.0;
// pressure and size variables
float pointerSize = 0.0;
// add the following to the b this code overrides the
// built-in method, then sends the data on after we capture it
public boolean dispatchTouchEvent(MotionEvent event) {
x = event.getX();
// get x/y coords of touch event
y = event.getY();
int action = event.getActionMasked();
// get code for action
pressure = event.getPressure();
// get pressure and size
pointerSize = event.getSize();
switch (action) {
// let us know which action code shows up
case MotionEvent.ACTION_DOWN:
touchEvent = "DOWN";
case MotionEvent.ACTION_UP:
touchEvent = "UP";
pressure = pointerSize = 0.0;
// when up, set pressure/size to 0
case MotionEvent.ACTION_MOVE:
touchEvent = "MOVE";
touchEvent = "OTHER (CODE " + action + ")";
// default text on other event
return super.dispatchTouchEvent(event);
// pass data along when done!
無 mouseButton 變數
必須考量一般桌面程式的滑鼠使用模式跟 android 裝置的觸控模式的不同,一般桌面程式需要經過適當改寫,以滿足觸控模式的習慣。
android 裝置上的 BACK鍵 的行為模式跟桌上程式的 ESC鍵 很像
在 android 裝置模擬器上按 ESC 鍵會模擬 BACK 鍵的效果。但是,按 ESC 鍵會結束正在執行的 Processing 程式,要避免這種狀況的話,必須把 keyCode 設成 0,這樣按下 ESC 鍵的事件就不會被 Processing 程式偵測到。範例程式如下:
void keyPressed() {
// doing other things here, and then:
if (key == CODED && keyCode == android.view.KeyEvent.KEYCODE_BACK) {
keyCode = 0;
// don't quit by default
在 android 模式中,不提供 ALT , CONTROL , 和 SHIFT 等常數 (Constant)。但 SHIFT 也許以後會提供。
但 keyEvent.isShiftDown() 及 keyEvent.isAltDown() 在 andoird 模式中能夠使用 (為了同時發佈桌面版程式)
有些 android 裝置有實體方向盤 (d-pad, directoinal pad), LEFT , RIGHT , UP 及 DOWN 等常數就能被對應至不同方向。若要取得d-pad的中間按鈕,則需使用 DPAD 常數。
void keyPressed() {
if (key == CODED) {
if (keyCode == DPAD) {
// user pressed the center button on the d-pad
} else if (keyCode == UP) {
// user triggered 'up' on the d-pad
} else if (keyCode == DOWN) {
// user triggered 'down' on the d-pad
} else if (keyCode == LEFT) {
// user triggered 'left' on the d-pad
} else if (keyCode == RIGHT) {
// user triggered 'right' on the d-pad
android 裝置上有 BACK 鍵跟 MENU 鍵
void keyPressed() {
if (key == CODED) {
if (keyCode == BACK) {
// do something here for the back button behavior
// you'll need to set keyCode to 0 if you want to prevent quitting (see above)
} else if (keyCode == MENU) {
// user hit the menu key, take action
更多 KeyEvent 可參考:
想對 keyCode 做特別的處理的話,可參考下列程式碼:
void keyPressed() {
// doing other things here, and then:
if (key == CODED && keyCode == android.view.KeyEvent.KEYCODE_HOME) {
// override the home key here
建議不須特別去設定 size() 的大小,會比較 make sense。
但若特別去設定 size() 大小,不知道會發生什麼事,也可以試試看。(待測)
如果不設定 size() 的話,程式執行起來會占滿整個畫面。可透過 width 跟 height 來取得目前畫面的大小,若螢幕有旋轉的話,width 跟 height 會更新。
若需要使用 P3D render 的話,則必須設定 size()。參考用法如下:
size(displayWidth, displayHeight, P3D);
在 android 模式中使用 size() 的話,會被 preprocessor 做處理,將 size() 裡面的參數分別轉換成 sketchWidth(){}, sketchHeight(){} 及 sketchRenderer(){},例如:
void setup() {
size(displayWidth, displayHeight, P3D);
會被 preprocessor 處理成:
void setup() {
public int sketchWidth() {
return displayW
public int sketchHeight() {
return displayH
public String sketchRenderer() {
return P3D;
android 模式只有兩種 render:P2D 跟 P3D
因為 android 模式的 preprocessor 會處理 size(),
所以若是使用 Eclipse+Processing 開發的話,就必須自行定義 sketchWidth(){} , sketchHeight(){} 及 sketchRenderer(){} 等方法,尤其是要使用 P3D render 的時候。
ps. 建議不需要特地透過 sketchWidth(){} 跟 sketchHeight(){} 指定 sketch 大小
在 sketch 中,不能同時使用 size( ) 跟 sketchXxxx(){} 方法
要讓模擬器旋轉來改變方向:使用 數字鍵 7 或 數字鍵 9,或是使用 CTRL+F12
若要將 sketch 固定在某個方向,可以使用下列方式:
orientation(PORTRAIT);
// the hamburger way
orientation(LANDSCAPE);
// the hot dog way
使用 android.util.DisplayMetrics 這個 class 可以獲得螢幕 desity 和 dpi 的數值
// Place this at the top of your sketch
import android.util.DisplayM
// Place this inside your setup() method
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
float density = dm.
int densityDpi = dm.densityD
println("density is " + density);
println("densityDpi is " + densityDpi);
160dpi 的螢幕,其 density 值為 1
android 模式不支援 beginRecord , endRecord , beginRaw , endRaw
跟 Registering 相關的方法 (例如:registerPost() , registerDraw() ...等) 目前不支援,以後可能支援。
不支援跟滑鼠相關的方法 (例如:noCursor() , cursor() )
PImage.image 跟 PImage.bitmap 是一樣的
PFont.font 跟 PFont.typeface 是一樣的
在 android 模式,selectFolder() , selectInput() , 以及 selectOutput() 等方法無法使用。可使用第三方 library 來達成:
若 sketch 要跟網路連接,必須打開 INETRNET 的 permission。方法:打開 Tools & Android Permissions 然後設定。
若 sketch 要寫檔在 android 裝置,必須打開 WRITE_EXTERNAL_STORAGE 的 permission
multi-touch 範例程式碼:
第三方 library (Contributed Library)
Ketai library ()
使用 Processing IDE 開發 android 程式時,可以使用 data 資料夾。若使用 Eclipse+Processing 開發 android 程式時,必須使用 assets 資料夾,而不是 data 資料夾。
如何使用 Eclipse+Processing 開發 Android 程式:
相關討論串:
不建議將 Android GUI 元件跟 Processing sketch 合併使用。因為圖形繪製方式不同。
要將產生 (export) 出的 app 發布到 market 上的話,必須將 app 做 signing 的動作。
其他相關網頁:
讓產生的 app 有自己的 icon 圖案:
將 icon 圖案儲存成三種解析度的 png 圖檔: icon-36.png (36x36 pixels), icon-48.png (48x48 pixels), and icon-72.png (72x72 pixels)
將這三種圖檔存放在 sketch 資料夾 下 (不是 data 資料夾下 !!) 即可
開發Android app,需要使用 Processing 的 Android Mode 開發。
在使用 Android Mode 之前,需要安裝 Android SDK 以及 Android Mode 等前置作業。
(這邊以 Processing 2.0.1為主,主要參考來源為: )
前製作業步驟如下:
1) 安裝 Android SDK
Processing 的 Android Mode 必須跟 Android SDK 溝通
首先到下載 Android SDK
開啟連結後,請不要選擇下載 ADT Bundle!
(因為 ADT Bundle 包含了 Eclipse IDE,以及其他包裝好的開發工具跟套件,我們這邊不使用 Eclipse 開發,我們要使用的 IDE 是 Processing PDE)
請往網頁下方捲動,點選 USE AN EXISTING IDE 連結
然後點選 Download the SDK Tools 按鈕下載單獨的 Android SDK
將下載下來的 Android SDK 解壓縮至自己喜愛的資料夾路徑 (ex: 家目錄的 Development 資料夾下)
Android SDK 分成三大 package 部份:tools, platforms, 以及 其他components。這三大部分皆可從 Android SDK Manager來下載。
剛下載下來的 Android SDK 僅包含 Android SDK tools 這個 package, 要開發 Android app 必須再下載至少一個 platform, 以及最新的 platform-tools)
開啟 SDK Manager
Windows 使用者若透過 installer 安裝 SDK,此時應該已經自動開啟 SDK Manager。若無,請至 Android SDK 資料夾下執行 SDK Manager.exe
Mac 跟 Linux 使用者則開啟 Terminal,然後移至 path-to/Android-SDK/tools 資料夾下,執行 ./android
(以上參考 )
開啟 SDK Manager 後,可以發現 Android SDK tools 已經安裝好了,以及 Manager 一開始會更新 packages 資訊,並且推薦一些建議安裝的 packages (通常為最新版本的 platform 跟 extra component )(如下圖)
確認勾選以下 packages :
Tools 資料夾下的 Android SDK Platform-Tools
Tools 資料夾下的 Android SDK Build-Tools
最新版的 platform 及其所有子項目 (目前為 Android 4.2.2 (API 17) )
Android 2.3.3 (API 10) 目錄下的 SDK Platform 項目 (僅此一項即可) (ps. 這是 Processing Android Mode 必須要安裝的!!)
Extras資料夾下的 Android Support Library 項目
Extras資料夾下的 Google USB Driver項目 (僅 Windows 使用者需安裝)
按下右下角的 install 按鈕,安裝以上勾選項目。會出現 Lisence 說明,請按 accept 按鈕,然後等待安裝程序跑完,然後關閉 log 視窗即可。
若勾選的項目成功安裝的話,Status 欄位會顯示 installed
可先關閉 SDK Manager
Mac 跟 Linux 使用者必須做些前置動作
Mac 使用者 : 詳細步驟請參考
Linux 64-bit 使用者
需安裝 32-bit compatibility libraries
安裝方式:& sudo apt-get install ia32-libs
2) 安裝 Processing 的 Android Mode
透過 Mode Manager 安裝 (於Processing 2.0.1版有問題)
開啟 Processing 2.0.1 & 按右上角 Mode 按鈕選 Add Mode (預設為 Java Mode) & 開啟 Mode Manager & 選擇 Android Mode & 按下 install 按鈕安裝
(目前透過 Mode Manager 安裝 Android Mode 有問題,改採下列方式手動安裝 Android Mode )
手動安裝 Android Mode
開啟這個網頁
點選 Android mode 下載 AndroidMode.zip
將 AndroidMode.zip 解壓縮至 sketchbooks 所在位置下的 modes 資料夾中 (若無 modes 資料夾者請自建立之)
重新開啟Processing
參考來源: (主要)
3) 開始用 Processing 開發 Android app
開啟 Processing,然後按右上角的 Mode 按鈕,選擇 Android Mode
開始撰寫您的sketch
然後將您的 sketch 上傳到您的 Android 裝置執行吧!
有四種方式:Run in Emulator, Run on Device, Export Android Project, Export Signed Package
分別是:在 android 模擬器上執行、在 android 裝置上執行、輸出成一個獨立的 APK、輸出成一個簽證過的 APK並可將之放在 market 上發行的版本(開發中)
要在 Android 裝置上執行 ( Run on Device ) 的話,必須將裝置開啟 USB Debugging 模式
USB Debugging 模式的開啟方式依據 Android 版本不同而異:
Android 版本是3.2或舊版:Settings & Applications & Development
Android 版本是4.0~4.1:Settings & Developer options
Android 版本是4.2~:Developer options 預設是隱藏,要開啟的話,必須到 Settings & About phone,然後按Build number 七次後,回到前一頁之後,就能找到 Developer options 了。
我的手機是 HTC One,我的 Build number 的路徑為:設定 & 關於 & 軟體資訊 & 更多 & 建置號碼
然後按 建置號碼 七下 即能在 設定 下面開啟 開發人員選項
若開發環境是 Windows 或 Linux 的使用者,要讓系統認得 Android 裝置,必須額外做下列動作:
Windows:安裝 OEM USB Driver,請依據網頁 (
) 的說明安裝
Linux (Ubuntu):必須自行新增一個 udev rules file,並在該檔中設定裝置製造商的 vendor ID,作法如下:
$ cd /etc/udev/rules.d/
$ sudo nano 51-android.rules
// 以我的 HTC Android 裝置為例:將這下面一行文字寫入 51-android.rules 檔案中,存檔。
// SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"
// ( ps. 不同的 vendor ID 必須分別寫一行 )
$ sudo chmod a+r 51-android.rules
vendor ID 請參考:
不同的 Linux dist. 可能有不同的 udev rule 寫法,請參考相關的 udev 文件
若 Android 裝置的版本是 &= 4.2.2 的話,將裝置跟電腦連接時會出現一個是否接受 RSA key 的對話框,這是個保護機制。
將 Android 裝置透過 USB 連接至電腦時,用以下指令確定是否連接成功:
$ cd path-to/Android-SDK/platform-tools/
$ ./adb devices
//成功的話,會回傳如下的已連接裝置的資料
List of devices attached
FA34JW902393
參考來源: 上传我的文档
 下载
 收藏
所有文档均可在线免费浏览,需要的朋友请看好是否是自己需要的文档。所有资料来源于网络,仅供大家参考学习,版权归原作者。若有侵权,敬请及时告知,本人会及时删除侵权文档,竭诚全力为您服务!!!
 下载此文档
正在努力加载中...
自然语言处理Natural Language Processing(NLP)【PPT-重点】
下载积分:939
内容提示:自然语言处理Natural Language Processing(NLP)【PPT-重点】
文档格式:PPT|
浏览次数:122|
上传日期: 17:01:21|
文档星级:
该用户还上传了这些文档
自然语言处理Natural Language Processing(NLP)【PPT-
官方公共微信软件工程-第2章-数据流图_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
软件工程-第2章-数据流图
上传于||暂无简介
大小:605.00KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢周晓林实验室_-_sentence_processing_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
周晓林实验室_-_sentence_processing
上传于||文档简介
&&现​代​汉​语​ ​英​汉​翻​译​ ​功​能​语​法​ ​主​位​ ​述​位
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩16页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢}

我要回帖

更多关于 mass noun 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信