我正在尝试从教程中学习paper.js,但我不能让它从外部文件中运行.实现外部文档文件的最简单方法是什么?
我一直试图找出如何在paperjs中使用onMouseDrag和onMouseDown进行平移/缩放。
我见过的唯一参考文献是coffescript,并且未使用paperjs工具。
我已经使用paperjs了一年,没有任何问题.在Chrome更新后(Version 55.0.2883.87 m),我在2个月内未触及的一些生产代码开始失败error: item.setRampPoint is not a function:
paper-full.js:13213 Uncaught TypeError: item.setRampPoint is not a function
at offset (paper-full.js:13213)
at Object.<anonymous> (paper-full.js:13263)
at Object.forIn (paper-full.js:46)
at Function.each (paper-full.js:133)
at applyAttributes (paper-full.js:13260)
at importGroup (paper-full.js:12944)
at importSVG (paper-full.js:13324)
at Project.importSVG (paper-full.js:13356)
at drawAddLaneButtons (tlc.js:267)
at Path.window.drawTlcElements (tlc.js:62)
Run Code Online (Sandbox Code Playgroud)
如果我setRamPoint在paperjs代码中注释掉它,它会再次开始工作.
当我尝试将SVG加载到页面时会发生这种情况,但是,正如我之前所说,它在很长一段时间内都运行正常.
我使用的是版本0.9.25 paperjs.
有任何想法吗?
我正在尝试触发MouseEvent将由Paper JS接收的普通 JavaScript 。我有一个 HTML 画布drawing-canvas,已经是paper.setup. 这是我目前的尝试:
const drawingCanvas = document.getElementById('drawing-canvas');
drawingCanvas.dispatchEvent(new MouseEvent('click', {
buttons: 1,
clientX: 1153,
clientY: 550,
screenX: 1153,
screenY: 621,
}));
Run Code Online (Sandbox Code Playgroud)
从控制台触发此操作不会触发我的Layer鼠标事件。
这是我在 Paper Sketch 中的尝试。我希望在运行它时进行日志记录。
如何触发 Paper JS 将收到的普通 JS 鼠标事件?
I am looking for an approach or Javascript library that I can use to build a scientific modeling application. I suppose this is analogues to the way flowcharting software like Visio works. Add elements and connect them with click and drag.
I need to be able to define certain elements and add them to the "canvas" by selecting the element and dragging them onto the canvas.
When I click on an element I need to be able to set certain …
任何人都知道我如何在 paper.js 中轻松自定义“选择大纲”。“。Paper.js 在我的圆圈顶部绘制所选项目的视觉轮廓,我想自定义该轮廓的大小和颜色。例如:
var myCircle = new Path.Circle(new Point(100, 70), 50);
myCircle.strokeColor = 'black';
myCircle.selected = true;
Run Code Online (Sandbox Code Playgroud) 使用raphael.js库,可以使用 SVG 路径语法来描述路径(例如M98.36,214.208l2.186-1.093V210.2l-3.378,0.117l1.174,4.137L98.36,214.208z,它提供了一种非常紧凑的方式来创建形状(特别是如果您的形状是使用 Illustrator 等外部应用程序绘制的)。
我对使用paper.js感兴趣库(不是基于 SVG)感兴趣,但乍一看文档似乎表明路径是通过对象方法逐步构建的。这是一种非常不同的方法(可以说“路径构建”与“路径描述”),不太适合我的需求。
那么:有没有办法在 paper.js 中使用 SVG 路径?或者类似的“路径描述”解决方案?
参考:
我使用普通的javascript将图像添加到画布,这是代码
var canvas = document.getElementById('canvas');
context = canvas.getContext('2d');
canvas_image();
function canvas_image(){
can_img = new Image();
can_img.src = 'Chrysanthemum.jpg';
can_img.onload = function(){
context.drawImage(can_img, 100, 100);
}
}
Run Code Online (Sandbox Code Playgroud)
如何使用paperJS库将图像添加到画布?
我正在用Paper.js制作一个小型射击游戏,但是我无法找到Paperscript提供任何方法来获得我的一组项目的当前轮换.
在下面的代码中,使用Q和E键旋转"circlegroup"应该影响WASD导航,将项目移动到对象的"鼻子"当前指向的方向.我想我需要获取项目的当前轮换以影响导航.Paper.js提供了任何方法吗?
bigcircle = new Path.Circle({
radius:10,
fillColor: 'grey',
position: (10, 20),
selected: true
});
smallcircle = new Path.Circle({
radius:5,
fillColor: 'black'
});
var circlecontainer = new Group({
children:[smallcircle, bigcircle],
position: view.center
});
var circlegroup = new Group({
children: [circlecontainer]
});
function onKeyDown(event) {
if(event.key == 'w') {
circlegroup.position.y -= 10;
}
if(event.key == 'a') {
circlegroup.position.x -= 10;
}
if(event.key == 's') {
circlegroup.position.y += 10;
}
if(event.key == 'd') {
circlegroup.position.x += 10;
}
if(event.key …Run Code Online (Sandbox Code Playgroud) 我在 Paper.js 中创建了一个非常普通的矩形,我想调整它的大小,但我找不到任何明显的方法来做到这一点。
var rect = new Rectangle([0, 0],[width,height]);
rect.center = mousePoint;
var path = new Path.Rectangle(rect, 4);
path.fillColor = fillColor;
path.meta = fillColor;
Run Code Online (Sandbox Code Playgroud)
有一种缩放转换方法,但它并不是真正用于鼠标交互,我的目标是创建一个可以调整组件大小的句柄。
paperjs ×10
javascript ×9
html5-canvas ×2
svg ×2
canvas ×1
dom-events ×1
drawing ×1
fabricjs ×1
game-physics ×1
html ×1
java ×1
mouseevent ×1
raphael ×1
vue.js ×1