所以,我正在用processing(编程语言)创建一个游戏breakout,但还不能完全找到一个函数来检查与蝙蝠的碰撞
到目前为止,我写的关于球棒碰撞的部分只会将球与球座碰撞,并将球返回到相反的方向。就目前而言,这场比赛是一个永无止境的现象,球只是与墙壁相撞。我想做的是,把球撞到球棒上
哦,这是我的家庭作业,所以请给我指出正确的方向,而不是替我做
代码如下:
//基本突破游戏
//来自Matthre Yee King的代码
//砖块位置
浮砖;
浮砖;
//砖宽和砖高
浮砖;
浮子砖千瓦;
//
我试图在图形程序中写入垂直文本,该程序是在我的draw()函数中使用此代码处理时创建的
//将文本翻译到我想要的位置。
翻译(20,30.);
//居中对齐文本
文本对齐(中心);
//将要写入的文本旋转270度,使其垂直。
旋转(270);
//写垂直文本。
文本(“一些垂直文本”,0,0);
//撤消旋转和平移。
旋转(-270.);
翻译(-20.,-30.);
但是,此代码不会垂直旋转文本。事实上,书写的文本既不垂直也不水平倾斜
发生了什么?您必须以弧度为单位指定角度。尝试旋转(PI/
我想添加/删除一个椭圆使用一个按钮按下处理。我使用void key pressed()和void key released()作为键。但是如何使用if语句添加/删除椭圆呢
现在,我可以添加更多,并删除一些椭圆。例如,如果我有一个按钮,我可以按一个按钮,然后再按一个。或者按一个按钮来移除一个。但是现在我想移动这些椭圆(最大4个),为每个椭圆使用不同的关键点集。我该怎么做呢?您需要做的是在绘制椭圆时读取布尔值。如果这是真的,画出来,如果不是,不要!按键应该只是切换布尔值。像这样:
boolean i
你的意思是
void setup()
{
size(600, 600);
colorMode(HSB);
background(255);
}
void draw()
int size;
size(600, 600);
smooth();
noFill();
float cx = width/2;
float cy = height/2;
float diameter = width
我是面向对象编程的新手,它正在展示
以下是我希望我的程序执行的操作:
显示像这样的黑白图像,除了白色而不是粉色外:
[]
使用链代码通过创建水滴/链来跟踪图像。每个链都是坐标对的数组列表坐标对是名为Point2d的类的实例。每个链的ArrayList命名为chain[0]、chain等。
按S键将这些链逐个保存到另一个名为chainlist的ArrayList中。
按R键打印每个链的所有坐标对。
不幸的是,我有两个问题
每次我将单个链(例如链[2])保存到我的链列表中时,它会比所有其他链都保存。
我正在制作Processing 3.3中的矩阵文本雨效果,作为学习Processing库和Java的简单入门项目。到目前为止,我的代码是:
类符号{
int x,y;
int switchInterval=round(随机(2,50));
浮动速度;
字符值;
符号(整数x,整数y,浮点速度){
这个.x=x;
这个。y=y;
速度=速度;
}
//基于片假名Unicode块设置为随机符号
void setToRandomSymbol(){
如果(帧数%switchInterval==0){
v
是否有方法检测坐标是否在加工中的圆半径范围内
例如,在我的程序中,如果玩家2的精灵重叠并“捕获”玩家1的精灵,那么我希望游戏结束(因此,如果玩家1的精灵在玩家2的命中框范围内)。
*注意:我的player 1 sprite相当小,定义其位置的坐标应足以进行重叠检测
谢谢 虽然我不熟悉处理,但这是一个数学问题,可以用毕达哥拉斯来解决:
float//圆心x
浮球//圆心y
浮法铬//圆半径
浮动x//测试x坐标
浮动y//被测y坐标
(sqrt(pow(x-cx,2)+pow(y-cy,2))
我有一些函数,这些函数组合在一起,应该允许我执行连续碰撞检测,但我真的不知道如何解决问题,因为我不知道如何在处理中写入它:
t is time.
A is the location vector for the first sphere, B the second.
A1 and A2 are the start and end point for A, the same goes for B1 and B2.
rA and rB are the radii of the respective
我有一个处理代码,它显示文本文件中的单词。我已经创建了一个右键单击功能,如果不需要,可以从屏幕上删除单词,这样下次运行代码时,就不会看到这些单词。我创建了另一个文件,其中包含所有不需要的分隔符/单词。如何在右键单击时将不需要的单词添加到此文件?我希望我的问题是清楚的。非常感谢你的帮助 启动应用程序时,我想您也会加载分隔符/不需要的单词文本文件,并将它们添加到字符串[]。当再次单击鼠标右键时,您将右键单击的单词附加到加载的不需要的单词字符串[],然后决定何时保存文件(覆盖以前的定义)-使用保存按钮
我有一个处理草图,将在画廊设置运行很快。我正在考虑将草图移植到processing.js,但我不确定您是否可以使用processing.js中的toxiclibs库
谢谢。如果它很快就要运行一个画廊,而且一切都很好,那么现在就不要改变任何东西,只是为了让一切都按预期运行:“如果没有损坏,就不要修复它”
将代码移植到processing.js时,某些函数可能会比较慢或未实现,因此最好不要冒险。但是,将来如果您计划使用processing.js和toxiclibs,您可以使用
我正在使用Processing 3.0b5开发一个用于web的动画。作为该动画的一部分,我创建了一个自定义类,然后创建该类对象的数组。这些对象恰好是矩形
其中一个矩形被指定为重新启动动画的按钮。在处理环境中,它工作得很好。但是,当我使用.pde文件或通过在网页本身中包含代码在网页上运行动画时,除了按钮之外,动画的所有功能都正常工作,我不知道为什么
按钮功能是通过使用mousePressed()函数实现的。我得到的错误是保存矩形的数组不存在。但是,数组是一个全局变量,甚至用于程序中的其他函数。似乎
这一部分只是游戏的背景,我不认为有必要解决这个问题,但我不太确定:
boolean intro=true;
boolean end=false;
PImage asteroid_1;
PImage cover;
int lives =3;
class Sprite {
float x;
float y;
float dx;
float dy;
color asteroidcolor;
color lasercolor;
}
Sprite player= new
我将在我的处理项目中显示两层(分别来自kinect的深度图像和一个遮罩)。在这个项目中,我将通过使用遮罩来隐藏没有用户可用的区域。请注意,“mask”的像素来自我的代码中名为“movie2”的电影。
有没有办法通过减少遮罩边框的不透明度来模糊用户的边框
这是我的密码:
导入SimplePenni.*;
皮梅格面具,深度;
simplepenni-kinect;
int[]用户映射;
无效设置(){
kinect=新的SimplePenni(本);
规模(640480);
kinect.enabl
我还在想如何使用p5.js。在常规java中,必须使用其数据类型声明每个变量,例如intfoo=0
在p5中,我知道您可以只使用var foo,但也可以使用this.foo声明变量。如果有人能澄清什么时候是使用var的合适时间,以及我什么时候可以使用this,那将非常有帮助
例如,如果我想在一个方法中声明一个变量,我应该使用var foo=thing还是可以使用this.foo=thing来声明它?声明全局变量或引用传递到方法中的对象时应该使用什么
谢谢 首先,p5不是一种语言,它是一个Java
我有一个很奇怪的问题。我的代码中的一切都非常好,但我仍然有一个问题
import processing.serial.*;
float r_height;
float r_width;
float hypotnuse;
int d = 20;
float x ;
float y ;
float ledGlow;
Serial myPort; // Create object from Serial class
void setup () {
size (510, 510);
St
我想知道如何在一个圆内绘制随机(法线或曲线)线,这意味着这些线不会通过圆的边界
下面是绘制圆的代码:
size(900, 900);
background(80, 89, 81);
int n = 50; // aantal (element count)
for (int i = 0; i <n; i++) {
float x1 = 20*i;
float x2 =-10+20*i;
float x3 =x2+20;
float x11 = 10+20*i;
floa
球在贝塞尔曲线中从起点到曲线中间移动的代码是:
void ballMove()
{
if(y[0]==height*1/10)
{
bezier (x[0], y[0],x[1], y[1], x[2], y[2], x[3], y[3]);
float x0; float x1; float x2; float x3;
float y0; float y1; float y2; float y3;
x
给定一个加载的png图像作为模板,我想让用户能够跟踪图像的元素。在p5中,这很简单:
setup(){
//加载图像
var img=loadImage(“…”);
图像(img,0,0);
}
画(){
椭圆(mouseX,mouseY,2,2);
}
但是,我希望能够只保存椭圆(而不保存底层图像)。有没有一种方法可以写入图像而不是直接写入画布,这样我就可以提升轨迹的像素,而不必使用原始图像
我目前的计划是:
覆盖第二个p5实例,并在覆盖在图像上的透明画布上绘制。。。但这似乎更难维护,并且
是否有任何方法可以在处理过程中加载文本文件,而忽略文件名的大小写?我正在打开多个csv文件,有些文件的扩展名大写为“.csv”,而不是标准的“.csv”,这会导致错误,因为loadStrings()函数区分大小写
String file = sketchPath("test.csv");
String[] array = loadStrings(file);
上面给出了错误:
此文件名为test.CSV而不是test.CSV。重命名文件或更改代码
我需要一种方法,使案件的文件名或扩展名不重要。
为什么上面的代码显示尺寸上的错误?使用而不是:
import java.util.*;
List cr=new ArrayList();
//填充列表
对于(int i=0;i
我正在试着做莫尔斯电码解码处理3。我有摩尔斯电码编码器的密码。但我正在努力将编码器转换为解码器
我还想通过点击输入摩尔斯电码,但这将是转换后的下一步
我试图把输入、输出和字母表改成莫尔斯电码,但在最后一段代码中,我结巴了
这是原始编码器:
这是我修改过的解码器代码:
String textInput;
String textOutput;
void setup() {
textInput = decodeMorseCode(textInput);
textOutput = "";
关于在p5.js WEBGL模式下使用笔划的自定义形状(使用beginShape函数):
在WEBGL模式下,lineJoint()和lineCap()函数不可用。
这就是为什么形状中的线不能无缝连接的原因。
我尝试在自定义形状中使用轮廓来解决此问题,但在WEBGL模式下也没有实现
有没有其他方法让这些线连接起来
非常感谢
代码笔有问题:
非工作轮廓
函数设置(){
createCanvas(window.innerWidth、window.innerHeight、WEBGL);
}
函数
使用translate()函数,可以在相对于参照系的处理中平移x和y距离
有没有一个函数可以用来转换为世界空间中的绝对坐标?例如,是否可以转换为相对于窗口的坐标(20,30),而不管参考系以前转换为何处?当您在代码中首次使用“转换”时,实际上是在转换整个坐标系。如果要在位置/变换处独立地(不影响)绘制对象,则应在/popMatrix()调用中隔离该位置/变换
这是一个v。基本示例:
pushMatrix();
translate(50,50);
rect(0,0,50,50);
popMatri
这是我的翻译代码
void draw() {
background(100);
if (updateBlocks == true) {
updateBlocks();
}
pushMatrix();
translate(-player.location.x + 320, -player.location.y + 320);
mx = mouseX -player.location.x + 320;
my = mouseY -player.location.
我希望p5js将我的画布图像保存到一个目录:
saveCanvas(c, `kinect/kinect${i}`, 'jpg');
目前他们只保存到桌面,文件被重命名
kinect_kinect1.jpg etc...
如何保存到目录?这取决于您使用的浏览器,但大多数浏览器应提供首选项/设置,以允许您设置不同的下载文件夹,或允许您为每次下载选择单独的下载文件夹
如果您计划保存超过15帧,您应该尝试(因为当前不会捕获超过15帧的内容)
如果您需要更多的控制,请记住,您始终可以集成和/或传递画布
从字面上说,我刚刚进入了编码世界,所以如果我的问题看起来非常疯狂,我真的道歉
不管是谁,我正在学习一些教程(Daniel Shiffman的)如何在Atom上设置一个基本的p5.js文件,并生成一个绿色窗口来测试代码是否正常工作。非常基本的设置,不应该出问题
由于某种原因,文本编辑器在我打字时不会读取我的代码;然后我点击了根文件夹中的index.html文件
事实上什么也没发生,而不是显示一扇绿色的窗户。我不知道这是否是一个软件问题,似乎没有人遇到过这样的基本问题
这里似乎没什么问题。当它应该是
我有一个圆圈,里面有文字。圆圈在移动,文本也随之移动
圆圈移动平稳,但文字移动明显锯齿状/滞后,总体上不平稳
如何解决这个问题
ellipse(position.x, position.y, radius*2, radius*2);
fill(255);
textSize(radius/3);
textAlign(CENTER);
text(mytext, position.x, position.y);
这里的所有变量都属于圆,例如圆的位置、半径和圆内
这是我的密码笔。我试图在p5js中使用实例模式编写简单的音乐播放器,但p5js的声音扩展导致了问题。我不知道怎么修理它。它是p5js最新版本中的一个bug吗
另外,当我使用p5js库时,我的devtool一直处于冻结状态。]
下面是我在中包含声音库时遇到的错误
p5.min.js:3未捕获(承诺中)类型错误:this.\u userNode.appendChild不是函数
在u.l.default.createCanvas(p5.min.js:3)
at_设置(p5.min.js:3)
at_r
我想在一个球体和另一个球体之间画一条线。线的颜色应从第一个球体的颜色更改为下一个球体的颜色。我该怎么做呢?你必须计算你要画的线的数学函数。只需将其中一个点的向量减去另一个点向量,即可轻松完成此操作。这将是方向向量,它将乘以变量,然后添加一个点。之后,您必须使用处理提供的功能(更改像素的颜色)和功能(进行渐变)
最终代码如下所示:
PVector point1;
PVector point2;
color color1;
color color2;
void drawGradientLine(P
在我的处理程序中,我做了几个随机放置的圆。我使用距离公式来计算鼠标是否在某个区域上
但是,当圆重叠时,该算法失败,因为它认为鼠标位于两个圆上。什么是只检测鼠标是否位于上方圆圈的方法?不确定您是如何实现它的,但一个选项是为每个圆圈提供索引。从0开始,每个圆递增。然后,当算法检查圆时,只使用索引值最高的圆。不确定如何实现它,但一个选项是为每个圆指定索引。从0开始,每个圆递增。然后,当您的算法检查圆时,只使用索引值最高的圆。谢谢,这很有效!我现在用draw方法将圆存储为对象,并为每个圆附加一个索引。谢
我们正试图找到一种通过处理创建交互式地图的方法,我们可以:
用鼠标悬停在国家上方,突出显示整个国家
让用户单击国家/地区并提供有关该国家/地区的其他信息
这将需要有一个一揽子方案正在处理中,并确定每个国家的地区。是否存在这样的一揽子计划?我知道它们通过jQuery空间存在。是否存在用于处理的等价物?请查看以下来源:
我正在写一个正在处理的草图,我很好奇如何才能得到草图所在的操作系统窗口的位置。如果我使用getPosition()(java.awt的一部分),我只能获取窗口中视口的位置。您可以使用继承自java.awt.Component的getLocationOnScreen(),但您需要确保小程序正在显示()
void draw(){
if(frame.isShowing()) println(frame.getLocationOnScreen());
}
或者稍微图形化一些:
void draw(
标题足够明确,我想让用户选择他想要打开的文本文件。
我不知道是否有一个资源管理器或输入字段已经在处理中实现
任何帮助都会很好。没有实现的方法,但您可以创建一个缓冲区并监视按键,如下所示:
String[] File;
String keybuffer = "";
Char TriggerKey = Something;
void setup(){
//do whatever here
}
void draw(){
//Optional, to show the current buf
标签: Processing
opennikinect-sdkinfraredsimple-openni
我已经安装了openni2.2、nite2.2和kinect SDK 1.6以及SimplePenni库以进行处理。除了红外图像,一切都很好——根本不存在。这真的很奇怪,因为在同一时间,我可以清楚地看到深度图像(和深度图像逻辑上需要红外线相机和投影仪的工作运行)。所以我假设驱动程序或软件有问题?我想使用kinect作为红外摄像机。请帮助,下面我附上我的测试代码:
/*-----------------------------------------------------------------
我不熟悉处理并试图找出在draw()下发生这种情况的原因。
根据我创建矩形的位置,圆圈是否出现。我的目标是在矩形前面画一个可拖动的圆
int x;
int y;
public void setup()
{
size(600, 600);
}
public void draw()
{
background(255);
// if timeLine() placed here, circle doesn't appear
circle();
timeLin
我正在创建一个碰撞检测游戏,其中:
每次我碰壁,我的生命都会减少。
一旦我有了0条生命,游戏就结束了。
但游戏让我进入了消极的生活。此外,我的点击开始,一旦你赢了似乎也不工作。。。有人知道怎么解决这个问题吗
PImage startScreen;
int gamestate=1;
int lives = 3;
class Sprite {
float x;
float y;
float dx;
float dy;
}
Sprite rect=new Sprite();
Spr
我试图在处理时实现一个动画螺旋曲线,以便在每个draw()函数中逐步构建曲线。我已经成功地创建了静态形状的曲线-现在我正在尝试进一步
然而,不幸的是,尽管我付出了努力,我的代码似乎还是不起作用。等待一段时间后,我再次获得形状静态,并显示以下错误消息:
必须在curveVertex()之前使用beginShape()或beginShape(多边形)
与此消息相反,我已经有了一条beginShape()指令(可能在错误的位置?)
这是我的密码:
float x,y;
浮动步长;
浮动角;
整数计数器
我正在使用Shiffman教程中的box2d进行处理。我所要做的就是当盒子到达某个x坐标时改变它的位置。这并不容易,因为box类中的x坐标必须从box2D世界转换,在下面的函数wrap中进行操作,然后返回到box2D世界
我在下面创建了以下代码。我的问题是如何应用返回的x坐标来更改长方体或定义长方体的主体的位置。我试图提供一个MCVE,但是box2d代码太多了。如果有人知道的话,有一个地方可以发布完整的草图,那就太好了
导入控制p5.*;
导入shiffman.box2d.*;
导入org.jb
我对编码是新手(我相信你可能会知道)。程序运行并生成1个Tubble,但其他对象不显示
这是我的班级:
class Tubble {
float x;
float y;
float diameter;
float yspeed;
float tempD = random(2,86);
Tubble() {
x = random(width);
y = height-60;
diameter = tempD;
yspeed = ran
我在教室里看了处理参考资料,并在动画中放了几个例子。我的教授没有在课堂上教授这些材料,他告诉我,如果能在堆栈溢出问题上得到社区的帮助,我可能会更走运。我的问题随之而来
当ry达到70时,旋转停止。我在代码中的问题所在位置添加了注释
我正在尝试制作一个连续平滑的动画
intx=200;
int y=350;
int-cubeWidth=300;
int立方八=2;
浮动rY=0.1;
浮动rX=0.1;
无效设置(){
尺寸(640、360、P3D);
}
void draw(){
背景(3);
我想通过拖动鼠标在一个位置绘制,并在画布中心周围的三个位置绘制线,包括光标下的一个位置。我正在使用以下代码,它确实绘制了3条线,但没有一条线在鼠标光标下:
void setup(){
大小(300300);}
作废提款(){
平移(宽度/2,高度/2);
如果(鼠标按下)
对于(int i=0;i您必须考虑与translate()和rotate()调用相关的点在哪里
首先进行平移,使原点位于屏幕的中心,而不是左上角。因此,所有点都需要相对于中心,而不是相对于左上角
要调试它,我首先要摆脱for循
我正在尝试管理此ArrayList。基本上,我有一个PVector对象的ArrayList——在我的代码中有两对(x,y)变量进入数组。我想知道如何分别管理这两对。我需要知道哪一个是(x1,y1),哪一个是(x2,y2),并可能命名它们。我该怎么做
Blob(浮动x,浮动y){
minx=x;
miny=y;
maxx=x;
maxy=y;
points=新的ArrayList();
添加(新的PVector(x,y));
}
根据您的问题,我不完全确定您想要实现什么,但是如果您想从blob函数
当球碰到桨叶边缘时,如何提高球的速度,然后恢复到原来的速度?在这个乒乓球游戏中,我希望我的球在碰到球拍边缘时加快速度,然后在碰到球拍中间时恢复到正常速度。我评论了一些“if语句”,因为我尝试了它们,但它们不起作用。我使用的语言是“处理”您的代码有点混乱,但我设法找到了解决您问题的方法。
我注意到球的速度总是“MIN_speed”,因为在弹跳方法的每次循环迭代中,这就是你对球位置的影响
查看代码后,我注意到在方法“pailebounce()”中检测到与划桨的碰撞,因此我去了那里,并以更高的值“8”
在python中,我可以创建一个需要传入数据的函数。例如,我可以创建如下函数:
def functionName(x)
然后可以在函数中使用x。当我在处理过程中尝试以下操作时:
void functionName(x)
它在“…VariableDeclaratorId”上给我错误消息error
是否有一种方法可以在处理或类似java的python中传递数据?您必须定义参数的类型。例如,如果要传递的值是浮点值,则可以将函数定义为:
void funtionName(float x)
这是什么
这个程序可以打印文本。此字体大小从5增加到250。字体大小为250时,此字体大小将从250减小到5。然后,当字体大小为5时,该字体大小将增加5到250。
字体大小为5。
下面的代码是我制作的。
然而,我无法在提高字母后减小字母的大小
PFont myFont;
int ts= 5;
int ts2 = 250;
float x, y;
void setup() {
size(500, 500);
x = width/2;
y = height/2;
myFont = loadFont
我正在努力理解在HYPE库中处理3的锚定是如何工作的
我建立了一个很小的例子来说明我的问题。在以下代码中,我希望三角形不会相互拦截:
HPath d1,d2;
void setup(){
size(600,600);
H.init(this).background(#202020);
smooth();
float u=100;
d1 = new HPath();
d1
.triangle( H.EQU
我正在尝试将Kinect连接到Mac(运行OSX Yosemite 10.10)上的处理。也许有人能帮忙
到目前为止,我遵循了本页上的所有说明,没有任何错误(顺便说一下,这是一个非常有用的页面):
完成后,我可以通过终端、NiTE和SensorKinect毫无问题地使用Kinect。然而,当我试图通过处理利用SimplePenni库时,它告诉我需要首先安装OpenNI。鉴于OpenNI已经安装,在上面的步骤中,我不确定出了什么问题。我试过重启什么的
还有其他人遇到过这种情况吗?处理使用~/Do
使用我使用的“处理”编程语言,例如:
float f=3.4;
String s=nf(f,1,2);
dest.setText(s); // the GTextField from g4p_controls thus contains "3.4" according to the locale I use.
之后,我使用:
float f=float(dest.getText());
但它不起作用,因为它没有将“,”重新定义为十进制分隔符
应该怎么做?不是bug吗?我无法复制您的问题,处理
我一直在使用processing和box2D制作一些简单的游戏,将代码的性质作为一种资源
我的问题是,我已经到了一个临界点,这些风车根据电机的速度顺时针/逆时针运转(我使用的是PI/2和-PI*2)。我想让它,以便用户可以改变这个速度从积极和消极的按下一个键或鼠标按钮。环顾四周,人们和box2D文档都说要使用函数void SetMotorSpeed(浮动速度),但是我不知道如何实现这一点。我尝试了一些我能思考的方法,但没有运气
目前,我的主文件中有以下内容(“s”是风车实例的名称):
我在风车的
我有这个密码。当按下该键时,n值发生变化,并绘制不同的内容。问题是,在最后一种情况下,每次它都会画东西
int n = 0;
void setup(){
size(900,600);
background(0,0,0);
noStroke();
}
void draw()
{
switch (n) {
case 1:
fill(255,255,0);
quad(0,0,0,height,width,height,width,0);
fill(255,0
上一页 1 2 3 4 5 6 7 8 9 ...
下一页 最后一页 共 25 页