2014-02-10 19 views
0

我正在關注使用處理2.0.3 Windows 7 64位,僅安裝了api level 10(android 2.3.3)的「Rapid Android Development」一書。在處理2.0.3中將不推薦使用的MotionPressure替換爲MotionEvent時找不到符號

我在本例中,使用這是由2.0b7 http://wiki.processing.org/w/Android#Mouse.2C_Motion.2C_Keys.2C_and_Input 「的的MotionX,motionY,motionPressure等變量全部被拆除丟棄「motionPressure」,這是排序的組裝機,它會如果你依賴它們,應該很容易在你的素描中加入十幾行代碼,而現在只需要使用mouseX/Y。「

我在這裏發現了一個修復程序https://forums.pragprog.com/forums/209/topics/11348但代碼似乎不起作用。當它到達mouseDragged()「MotionEvent me =(MotionEvent)mouseEvent.getNative();」它停在這條線上,說找不到符號。

我該如何解決這個問題?我只是學習編碼。

編輯:我在整本書中看到越來越多地使用motionPressure,所以我將需要一種複製該功能的方式。

import android.view.MotionEvent; 

float maxPressure; 
float motionPressure; 

void setup() 
{ 
    noStroke(); 
    background(0); 
} 

void draw() 
{ 
    fill(motionPressure/maxPressure * 255); 

    ellipse(mouseX, mouseY, mouseX-pmouseX, mouseY-pmouseY); 

    println(motionPressure); 

    if(motionPressure > maxPressure) 
    maxPressure = motionPressure; 
} 

void mouseDragged() { 
    MotionEvent me = (MotionEvent) mouseEvent.getNative(); 
    motionPressure = me.getPressure(); 
    println (motionPressure); // can do stuff with this float now -- mine ranges .4 - 3.6 -- not 0 -1 
} 
+0

我不熟悉使用處理android應用程序,但我沒有看到'mouseEvent'(變量,而不是類)定義的任何地方。你看過這個網頁嗎? http://wiki.processing.org/w/Android#Mouse.2C_Motion.2C_Keys.2C_and_Input – kevinsa5

+0

是的,我已經看到了這個鏈接,但我不太明白該怎麼做。 我嘗試用'MotionEvent'替換'mouseEvent',但我仍然在該行發現'找不到符號'錯誤。 – user3294147

+0

你能複製/粘貼確切的錯誤?我的意思是你在聲明它或給它任何值之前開始使用變量'mouseEvent'。就像你不能像'print(x)'那樣做',而不是先給'x'一個值。 – kevinsa5

回答

0

這裏是一個從他們的wiki代碼簡化版本似乎工作。謝謝你對我指出kevinsa5

import android.view.MotionEvent; 

// fix prerequisite 
String touchEvent = ""; 
float pressure = 0.0; 

void setup() 
{ 
    noStroke(); 
    background(0); 
} 

void draw() { } 

void mouseDragged() 
{ 
    fill(pressure * 255); 
    ellipse(mouseX, mouseY, mouseX-pmouseX, mouseY-pmouseY); 
    println(pressure); 
} 

// fix 
@Override 
public boolean dispatchTouchEvent(MotionEvent event) { 
    pressure = event.getPressure(); 
    int action = event.getActionMasked(); 
    pressure = event.getPressure(); 
    switch (action) {case MotionEvent.ACTION_UP: pressure = 0.0; break; } 
    return super.dispatchTouchEvent(event); 
} 
相關問題