Comments (14)
抱歉没有及时回复orz...
- config中drag设置为false但是没有生效,是个bug,config中所有的配置都不能设置fasle.. 已经修复啦。3.0.0-beta.1
可以直接下载源码或者npm下载.
npm install omg.js@latest
-
你的意思是你在canvas上手动添加了个事件(addEventListener) ?要是这样的话确实会有冲突,这个稍等,我会增加一个接口 (在canvas上添加事件) (尽量在今天搞定, 有点儿忙。。)
-
主要是现在我正在调整api接口,还没定下来最终的接口规范,一些新功能也在添加中。再加上时间不太够,所以现在使用需要小小的看一下源码。。我的demo中也基本都是最新的了,可以参考一下。
之后有时间了我会完善一下文档啦,见谅。。
from omg.
先谢谢您了,百忙之中,能够抽出时间
- 首先我更换了版本,依然存在着圆点能够移动的问题,努力找原因ing(囧)。
- 其实我想问的是,如何解决重叠的元素之间存的事件冲突,例如位于背景图片之上的圆,当它们同时拥有点击事件时,我想要实现单击圆,圆的单击事件生效,而图片的单击事件并不生效(事实上它生效了)的效果,这个并不知道如何解决
- 对于手动添加事件,其实也可以用OMG类库中提供的方法,给背景图片添加单击事件,目前是使用
stage.element.addEventListener('click',function(evt){ }
给canvas添加的单击事件,我也尝试了给背景图添加单击事件,这个虽然方式不同,但是效果是一样的,并未存在问题。
PS:chrome debug没找到元素的初始化过程,只能用console.log()的方式找问题,效率较低
from omg.
- enableGlobalTranslate设置为false试试
- 我懂了,因为在事件触发的时候,点击到的图形其实是一个重叠的数组,但是只会触发数组最后一个(也就是最上层的一个),这样是比较符合逻辑的。其实是可以添加一个配置,触发全部数组的事件。这个没有冒泡机制,只能模拟,数组重叠的多了不好操控。
from omg.
不好意思,我的锅,zz了
初始化OMG时将enableGlobalTranslate参数设置错误,现已改成true,终于正常了
const stage = omg({
element: document.getElementById('Canvas'),
width: 750,
height: 450,
enableGlobalTranslate: false
})
from omg.
@mgzu ,我已经加上了全局的事件接口,用法如下:
stage.mousedown(function(e) {
console.log(stage.utils.getPos(e));
});
stage.mousemove(function(e) {
console.log(stage.utils.getPos(e));
});
但是代码没有打包发新版本,可以直接在github上下载源代码用。源码
from omg.
@mgzu ,已经添加removeChild, removeFirstChild, removeLastChild接口。用法如下:
stage.removeChild(rect);
stage.removeChild([rect, arc, line]);
stage.removeFirstChild();
stage.removeLastChild();
但是代码没有打包发新版本,可以直接在github上下载源代码用。源码
from omg.
好的,谢谢
请问使用这个全局的事件接口会和canvas内部元素的事件触发重叠么(就是点击元素后,canvas的单击事件会不会触发)
from omg.
重叠,会触发。
from omg.
@PengJiyuan
您好,现在要做以下几个功能,您看看是否正确
- 更换背景图片和其上的圆(这个会清空所有的child,重新加载图片和圆)
- 动态添加的功能,点击canvas,添加圆,点击canvas上的圆,显示相应信息
我目前的思路是
- 目前没有接口,我准备使用以下方法清空所有child
stage.objects.splice(0,stage.objects.length) //清空对象数组
stage._objects = null //也可以使用stage._objects.splice(0,stage._objects.length)
- 给一个btn添加点击事件,点击事件中给canvas添加点击事件(最后在移除这个事件)
时间比较紧,写的比较凌乱,不好意思啦
from omg.
上述清空所有child的方式,存在着元素移除,元素事件未移除的问题,重新添加元素后,会重复执行事件。现在还未找到解决方法
from omg.
Hi, 我针对你的场景做了一些功能改进。
移除所有元素,新加了一个方法,stage.removeAllChilds()
, 这个方法清空stage.objects,但是仅仅是元素清空,事件重置需要重新调用
stage.show()
或者
stage.draw();
stage._event.triggerEvents();
使用最新包,直接下载源码或者npm:
npm install omg.js@latest --save
from omg.
好的
最近一直在忙着优化功能,没怎么看GitHub,谢谢您了
from omg.
@mgzu 现在已经支持基本的动画了,包括各种曲线的缓动,而且用队列的形式处理无限多个补间动画,最大限度的保障了性能。
之后对动画支持的范围会更加宽广~
Demo: http://omg.js.org
Api接口在README中。
from omg.
好的,看到更新的动画效果了(tip链接没问题,但是readme中的链接应该有问题 omg.js -> omg)
from omg.
Related Issues (20)
- todo: resize HOT 1
- todo: mobile support HOT 1
- todo: animation HOT 2
- todo: destroy instance
- todo: layered refresh
- todo: expand HOT 1
- todo: shape scale and global scale HOT 1
- todo: add test
- 渲染图形的鼠标事件触发存在问题 HOT 4
- 希望给draw方法中的drawImage添加try...catch... HOT 2
- 如果画单条直线,会报map没有定义 HOT 1
- omg.js.org like landing page HOT 4
- 缩放不支持手机 HOT 2
- 添加缩放重置和背景图拖拽 HOT 12
- arc 渲染丢失 HOT 2
- Floating words
- mouseenter,mouseleave 会闪个不停 HOT 1
- touchend和mouseup事件都没有进入
- 鼠标移出canvas拖动图片位置显示异常
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from omg.