2014-03-27 49 views
1

出於某種原因,我不確定爲什麼,我的Processing草圖不以JavaScript模式顯示。但是,在Java模式下,它運行它的目的。我很確定所用的所有東西都在Processing API中,所以我真的不知道爲什麼這不起作用。處理:爲什麼這個草圖在Javascript模式下不起作用?

該方案的一個破敗。基本上,我必須創建一個股票代碼,文本從屏幕的右下角向左側以恆定的循環移動。

股票代碼:

Stock[] quotes = new Stock[12]; 
float t=0; 
PFont text; 

void setup() { 
    size(400,200); 
    //Importing "Times" font 
    text = createFont("Times" ,18,true); 

//Assigning Strings and Float values to Stock array index 
    quotes[0] = new Stock("ADBE",68.60); 
    quotes[1] = new Stock("AAPL",529.36); 
    quotes[2] = new Stock("ADSK",51.41); 
    quotes[3] = new Stock("CSCO",21.87); 
    quotes[4] = new Stock("EA",30.17); 
    quotes[5] = new Stock("FB",67.07); 
    quotes[6] = new Stock("GOOG",1201.52); 
    quotes[7] = new Stock("HPQ",31.78); 
    quotes[8] = new Stock("INTC",25.41); 
    quotes[9] = new Stock("MSFT",40.49); 
    quotes[10] = new Stock("NVDA",18.56); 
    quotes[11] = new Stock("YHOO",38.24);  

    //Assigning Position of indexs using setX method from Stock class 
    float x = 0; 
    for (int i = 0; i < quotes.length; i++) 
    { 
    quotes[i].getX(x); 
    x = x + (quotes[i].width()); 
    } 
    t = x; 
} 

void draw() { 
    background(55); 
    //Rendering of Text using trans and show functions from Stock class 
    for (int i = 0; i < quotes.length; i++) 
    { 
    quotes[i].trans(); 
    quotes[i].show(); 
    } 
    //Transparent Rectangl;e 
    noStroke(); 
    fill(10,10,10,127); 
    rect(0,164,width,35); 
} 

庫存:

class Stock { 
    String stockName; 
    float stockNum;  
    float x;  
    String show; 

    Stock(String n, float v) 
    { 
    stockName = n; 
    stockNum = v; 

    show = (stockName + " " + stockNum + " "); 
    } 

    //Sets position of each index 
    void getX(float x_) 
    { 
    x = x_; 
    } 
//Moves text 
    void trans() 
    { 
    x = x - 1; 
    if (x < width-t) 
    { 
     x = width; 
    } 
    } 

    //Renders Text 
    void show() 
    { 
    textFont(text); 
    textAlign(LEFT); 
    fill(255); 
    text(show,x,height-10); 
    } 
    //Records and returns width of index 
    float width() 
    { 
    textFont(text); 
    return textWidth(show); 
    } 
} 

回答

0

兩件事情:

  1. 據Processing.js頁,它不與大多數Java工作,所以 你需要小心你使用的庫。從他們 Quick Start頁:

    Processing.js與處理兼容,但沒有,將來 永遠是與Java完全兼容。 如果您的草圖使用的功能或 類未定義爲處理的一部分,則它們不可能與Processing.js一起使用 。類似地,爲 處理編寫的庫(用Java編寫而不是處理)最可能不會起作用 。

  2. 即使你使用的庫支持,你必須非常小心 命名時,您的變量,因爲JavaScript作爲可能會導致變量名 無類型語言相沖突,你 通常不會擔心時因爲它是一種類型化的語言,所以使用Java處理模式(或直接在Java中)編寫模式。請參閱 Processing.js's note就可以了。

+0

好的,我認爲這可能是沿着這些路線的東西。謝謝, –

相關問題