p5.js 相关问题

p5.j​​s是一个JavaScript库,从最初的处理目标开始,为艺术家,设计师,教育工作者和初学者提供编码,并为今天的网络重新解释。

Javascript,奇异博士的传送门动画未向右旋转

代码: 身体 { 宽度:100vw; 高度:100vh; 显示:柔性; </desc> <question vote="0"> <pre><code>the code: &lt;html&gt; &lt;script src=&#34;https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.0/p5.js&#34;&gt;&lt;/script&gt; &lt;style&gt; body { width: 100vw; height: 100vh; display: flex; align-items: center; justify-content: center; background-color: rgb(0, 0, 0, .9) } &lt;/style&gt; &lt;script&gt; function startAnimation() { const sketch = (p) =&gt; { const createParticleSystem = (location) =&gt; { const origin = location.copy(); const particles = []; const addParticle = velocity =&gt; { const rand = p.random(0, 1); if (rand &lt;= .3) { particles.push(createSparkParticle(origin, velocity.copy())); } else { particles.push(createParticle(origin, velocity.copy())); } }; const applyForce = force =&gt; { particles.forEach(particle =&gt; { particle.applyForce(force); }); }; const run = () =&gt; { particles.forEach((particle, index) =&gt; { particle.move(); particle.draw(); if (particle.isDead()) { particles.splice(index, 1); } }); }; return { origin, addParticle, run, applyForce }; }; const createSparkParticle = (locationP, velocity) =&gt; { const particle = createParticle(locationP, velocity); let fade = 255; const draw = () =&gt; { p.colorMode(p.HSB); p.stroke(16, 62, 100, fade); const arrow = velocity.copy().normalize().mult(p.random(2, 4)); const direction = p5.Vector.add(particle.location, arrow); p.line(particle.location.x, particle.location.y, direction.x, direction.y); }; const move = () =&gt; { particle.applyForce(p.createVector(p.random(-.2, .2), p.random(-0.1, -0.4))); particle.velocity.add(particle.acc); particle.location.add(particle.velocity.copy().normalize().mult(p.random(2, 4))); particle.acc.mult(0); fade -= 5; }; return { ...particle, draw, move } } const createParticle = (locationP, velocity) =&gt; { const acc = p.createVector(0, 0); const location = locationP.copy(); let fade = 255; const fadeMinus = p.randomGaussian(15, 2); let ligther = 100; let situate = 62; const draw = () =&gt; { p.colorMode(p.HSB) p.stroke(16, p.constrain(situate, 62, 92), p.constrain(ligther, 60, 100), fade); const arrow = velocity.copy().mult(2); const direction = p5.Vector.add(location, arrow); p.line(location.x, location.y, direction.x, direction.y); }; const move = () =&gt; { velocity.add(acc); location.add(velocity.copy().div(p.map(velocity.mag(), 18, 0, 5, 1))); acc.mult(0); fade -= fadeMinus; ligther -= 8; situate += 8; }; const applyForce = force =&gt; { acc.add(force); }; const isDead = () =&gt; { if (fade &lt; 0 || location.x &lt; 0 || location.x &gt; p.width || location.y &gt; p.height) { return true; } else { return false; } }; return { draw, move, applyForce, isDead, velocity, location, acc }; }; const createMover = () =&gt; { const location = p.createVector(p.width / 2, p.height / 2); const velocity = p.createVector(0, 0); const acc = p.createVector(0, 0); const mass = 10; let angle = 0; let angleVelocity = 0; let angleAcc = 0; let len = 100; const particleSystems = [ createParticleSystem(location), createParticleSystem(location), createParticleSystem(location), createParticleSystem(location), createParticleSystem(location), createParticleSystem(location), createParticleSystem(location), createParticleSystem(location), createParticleSystem(location) ]; const getGotoVector = angle =&gt; { const radius = p.map(angleVelocity, 0, 0.3, 0, 55); const goToVector = p.createVector( location.x + radius * p.cos(angle), location.y + radius * p.sin(angle) ); return goToVector; }; const draw = () =&gt; { const goToVector = getGotoVector(angle); particleSystems.forEach(particleSystem =&gt; { particleSystem.run(); }); }; const renderParticleSystem = () =&gt; { particleSystems.forEach(particleSystem =&gt; { const goToVector = getGotoVector(angle - p.random(0, p.TWO_PI)); const prepencular = p.createVector( goToVector.y - location.y, (goToVector.x - location.x) * -1 ); prepencular.normalize(); prepencular.mult(angleVelocity * 70); particleSystem.origin.set(goToVector); particleSystem.addParticle(prepencular); const gravity = p.createVector(0, 0.3); particleSystem.applyForce(gravity); }); }; const move = () =&gt; { angleAcc = 0.001; angleVelocity = p.constrain(angleVelocity + angleAcc, 0, 0.32); angle += angleVelocity; angleAcc = 0; renderParticleSystem(); }; return { draw, move }; }; let mover; p.setup = function() { p.createCanvas(240, 320); p.clear(); mover = createMover(); } p.draw = function() { p.clear(); mover.move(); mover.draw(); } }; new p5(sketch); } // Animasyonu başlatmak için startAnimation(); &lt;/script&gt; &lt;/html&gt; </code></pre> <p>朋友们你好,我改变了前支线(通过改变x和y的组合),我尝试将angleAcc设置为负,但门户转向左侧。它不会向右转。如何实现向右旋转的效果?我不知道我们还可以改变什么来解决这个问题。我正在等待您的帮助...<br/> 必须是: <a href="https://portal-right.netlify.app/" rel="nofollow noreferrer">https://portal-right.netlify.app/</a></p> </question> <answer tick="false" vote="0"> <pre><code>const prepencular = p.createVector( (goToVector.y - location.y)*-1, (goToVector.x - location.x) ); </code></pre> </answer> </body></html>

回答 0 投票 0

p5.由于像素密度问题p5js

我使用 get() 来存储动画中每个状态的快照,然后使用图像重播这些状态。 然而,当我用图像渲染存储的像素时,它们似乎没有相同的

回答 1 投票 0

React 渲染两个 p5.js 画布

我正在尝试将 p5.js 与 React 一起使用。由于某种原因,React 不断渲染两个画布。我知道这可以通过关闭 StrictMode 来解决,但我想保留严格模式的好处,同时...

回答 1 投票 0

创建一个可以在主画布或 createGraphics 实例上绘图的函数

所以,我需要一个函数来绘制一些东西,但是根据情况,我可能需要在主画布或 createGraphics 实例上绘制。 显然,以下方法有效,但我...

回答 1 投票 0

p5.js 中的 dist() 函数不能小于某个数字

我的游戏项目中的 dist() 函数在小于 130 或以上时不起作用,并且角色和收藏品之间的距离即使在顶部也不会小于 130。例如...

回答 1 投票 0

是否可以优化此代码以获得最大性能?

我用 JavaScript 编写了这种类型的彭罗斯平铺,算法很“简单”: 青色五边形总是要画黄色洛杉矶,而灰色五边形几乎总是要画两个......

回答 1 投票 0

类型错误:“addNode”不是函数

我编写了一个简单的 JavaScript p5 应用程序(使用 p5.js)来创建 BST 数据结构。当使用 Firefox 运行此程序时,它向我显示 TypeError: this.root.addNode is not a function 有谁可以帮忙吗...

回答 3 投票 0

为临时消息创建图形

所以,我想创建一条消息,在屏幕上显示一段时间,然后“摆脱”它。 该消息可能会发生变化,并且通常是隐藏的。 我目前正在考虑创建一个

回答 1 投票 0

p5.js sketch:我想使用另一个草图作为动画背景

我创建了一个 p5.js 草图,类似于:https://www.youtube.com/watch?v=IKB1hWWedMk&t=812s 我想给它一个动画“背景”,这将是另一个 p5.js 草图(我的目标......

回答 1 投票 0

使用 mousedragged 在 p5.js 上绘图

下面是我的 p5.js 草图中的代码。每当我拖动鼠标时,我希望草图根据鼠标拖动来绘制线条。 设 N = 64; 让比例= 10; 让 arr = []; 函数索引 (N,i,j) {

回答 1 投票 0

React 组件与 p5.js canvas 重复

我正在尝试使用单个 p5.js 草图创建一个 React 应用程序。但是,包含 p5 草图的组件正在我的页面上复制。不知道为什么会这样呈现。 在这里你可以...

回答 2 投票 0

如何将p5.js与Python Flask集成

所以我正在尝试运行一个Python Flask应用程序,它应该渲染一个html模板,该模板将记录音频并将其发送到我的flask服务器。我是 p5.js 的新手,我无法在我的设备上运行/获取音频输入...

回答 3 投票 0

绘制虚线描边矩形

有没有简单的方法可以做到这一点?我虽然有类似“中风风格”的东西,但显然没有这样的东西...... 那么,画一系列短线是唯一的方法吗?

回答 1 投票 0

如何控制 p5.js Javascript 草图中文本的每个字符?

总体目标:在仅由文本(以及很多文本!)组成的 p5.js 草图中,我想让每个字符成为“字母”类的实例,其中包括字体、样式、大小等内容,

回答 1 投票 0

将API绘制到HTML画布的数据加载到p5js中

我有一个项目,其中有两个画布需要组合,一个在p5内部,一个在外部。第一个是 p5js 草图(通过 createCanvas 创建,本质上是一个绘图应用程序...

回答 2 投票 0

背景图像覆盖文本

我是p5play的新手,正在尝试制作一款飞扬的小鸟游戏。一切正常,但我的文本都没有显示。当我尝试注释掉处理背景图像的代码时,文本......

回答 2 投票 0

如何在 p5.js 中使用“世界坐标”? [重复]

我在 1980 年代伴随着计算机图形学长大,在笛卡尔坐标系中思考,原点在左下方,垂直 y 轴随着屏幕“向上”而增加。但是近...

回答 1 投票 0

为什么第一次调用函数比 p5.js 中的后续调用花费更长的时间?

我正在尝试测量绘制由瓷砖制成的板的性能。 一种选择是一个接一个地绘制瓷砖,另一种选择是先将瓷砖填充到图像中,然后再绘制一个

回答 0 投票 0

文本显示两次

当我尝试向 p5.js 画布添加文本时,由于某种原因它显示了两次。下面附上代码: 让 img; 功能设置(){ createCanvas(screen.availWidth, screen.availHeight); 我...

回答 1 投票 0

文本重复 | p5.js

当我尝试向 p5.js 画布添加文本时,由于某种原因它显示了两次。下面附上代码: 让 img; 功能设置(){ createCanvas(screen.availWidth, screen.availHeight); 图片 =

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.