当前位置: 首页 > 知识库问答 >
问题:

处理:为什么这个草图不能在Javascript模式下工作?

郎和志
2023-03-14

出于某种原因,我不知道为什么,我的处理草图没有以JavaScript模式显示。然而,在Java模式下,它按照预期运行。我很确定所使用的一切都在处理应用编程接口中,所以我真的不知道为什么这不起作用。

节目的简况。基本上,我必须创建一个股票行情器,让文本在一个恒定的循环中从屏幕右下角向左移动。

股票行情:

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); 
  }
}

共有1个答案

鲜于浩淼
2023-03-14

两件事:

>

  • 根据Processing.js页面,它不适用于大多数Java,所以你需要小心你使用的库。从他们的快速入门页面:

    Processing.js与处理兼容,但不是也永远不会与Java完全兼容。如果您的草图使用的函数或类未定义为处理的一部分,它们不太可能与Processing.js.同样,为处理编写的库,用Java而不是处理编写,很可能无法工作...

    即使支持您使用的库,在命名变量时也必须非常小心,因为Javascript是一种无类型语言,可能会导致变量名冲突,而在Java模式(或直接在Java中)下以处理方式编写时,您通常不会担心这些冲突,因为它是一种类型化语言。请参阅处理。js在这方面的说明。

  •  类似资料:
    • 我正在处理过程中将Java草图转换为Python草图。它使用的是P3D引擎,它在窗口中没有显示任何东西,而它在Java模式中显示的是我想要的东西。当我运行时,它只是显示一个空白的黑色窗口,而不是网格。我可以改变它的背景颜色,但我不能在形状或其他窗口绘制。请帮帮我!我不能分享它的代码,因为它不是一个开放源码项目。

    • chrome浏览器 onclick链接 O:https://www.w3schools.com窗口打开 X:about:空白窗口打开

    • 为什么这不会增加?我正在批处理文件中使用这个。它做任何事情都是正确的,只是没有增加。我做错了什么? 编辑:这不是重复,这是一个完全不同的问题。

    • 我有这个项目。然后我做以下步骤: 转到 预期结果:错误消息(在浏览器中呈现) 白标签错误页 此应用程序没有 /error的显式映射,因此您将此视为一种退回。星期二八月27 16:59:23CEST 2019有一个意外的错误(类型=未找到,状态=404)。没有可用的消息 如何更改附加的代码,使文件索引代替此错误。是否呈现xhtml? 更新1:如果我去,我得到这个错误: 白标签错误页此应用程序没有/E

    • 问题内容: 如何在“处理”中创建单个草图的多个窗口? 实际上我想在一个窗口中检测并跟踪特定颜色(通过网络摄像头),然后将检测到的坐标显示为另一个窗口中的点,直到现在我仍可以在检测到该颜色的同一个窗口中显示这些点。我想将其拆分为两个不同的窗口。 问题答案: 您需要创建一个新框架和一个新的PApplet …这是一个示例草图:

    • 如何在加工过程中创建单个草图的多个窗口? 实际上,我想在一个窗口中检测并跟踪特定的颜色(通过网络摄像头),并在另一个窗口中将检测到的坐标显示为一个点。到目前为止,我能够在同一个窗口中显示检测到它的点。但我想把它分成两个不同的窗口。