使用 EaselJS 的无限画布

2024-04-07

有没有办法用 EaselJS 显示无限画布?我已经阅读了使用 Javascript 或 JQuery 执行此操作的方法,但是有什么方法可以使用 EaselJS 进行管理吗?

Thanks!


您可以使用 JavaScript/jQuery 拖放画布本身 - 但 EaselJS 内容有一个内置的拖放模型。查看示例文件夹中的 DragAndDrop 示例。

主要步骤是:

  • 监听 mousedown 事件某物。您应该在任何显示对象上使用内置的 EaselJS 事件。您不能使用舞台事件“stagemousedown”,因为它不会公开您需要的拖动事件,并且 Canvas 上的 DOM 事件不会有任何帮助。
  • 事件处理程序包含的鼠标事件将调度其他拖放事件。添加“mousemove”和“mouseup”的侦听器。
  • 响应鼠标移动事件以移动画布上的内容。

我拼凑了一个小钉子来展示这一点。http://jsfiddle.net/lannymcnie/jKuyy/1/ http://jsfiddle.net/lannymcnie/jKuyy/1/

它绘制了一堆内容,然后您可以将其拖动。红色框是监听鼠标事件的,但它只是移动一个包含所有内容的大容器。

以下是亮点:

dragBox.addEventListener("mousedown", startDrag); // Object listens to mouse press

function startDrag(event) {
    // Get offset (not shown here, see fiddle)
    event.addEventListener("mousemove", doDrag);
}
function doDrag(event) {
    // Reposition content using event.stageX and event.stageY (the new mouse coordinates)
}

希望能帮助到你!

编辑:EaselJS 的下一个版本(0.7.0+,自 2013 年 8 月起在 GitHub 上提供)具有全新的拖放模型,更易于使用。新的冒泡事件模型允许您将 pressmove 和 pressup 事件附加到任何对象上,以便在有人按下对象时获取事件,然后进行拖动操作。

dragBox.on("pressmove", function(event) {
    // Note that the `on` method automatically sets the scope to the dispatching object
    // Unless you pass a scope argument.
    this.x = event.stageX;
    this.y = event.stageY;
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 EaselJS 的无限画布 的相关文章

  • 在 html5 Canvas 上移动对象

    我使用 fillText 选项在 html5 canvas 对象上放置了一个文本 问题是我需要移动文本位置或更改已渲染文本的颜色 很快我需要知道如何操作画布元素的特定子元素 这将在画布上移动一个小圆圈 var can document ge
  • 在画布中将 Raphael JS 生成的 SVG 保存为 png 时出现问题

    我正在尝试转换由以下方式生成的 SVG拉斐尔 JS http raphaeljs com 以及用户 因为您可以拖动和旋转图像 我跟着这个在浏览器中将 SVG 转换为图像 JPEG PNG 等 https stackoverflow com
  • 从数组 THREE.js 创建纹理

    我正在研究地形生成器 但我不知道如何处理颜色 我希望能够生成一张占据整个 PlaneGeometry 的图像 我的问题是如何根据我的高度图创建一个覆盖整个 PlaneGeometry 没有环绕 的单个图像 我可以想到一种方法 但我不确定它是
  • 对于大文件,使用 dataURI 创建 iframe 失败,有解决方法吗? [复制]

    这个问题在这里已经有答案了 function openNewWindow strPreviewId let newWindowViewer window open var index mapPreviewIdWithFile strPrev
  • SVG 渐变颜色

    Hi I m working with SVG here I trying to add the gradient to SVG like this 白色和灰色渐变 但我无法实现所需的输出 谁能指出我正确的方向
  • 保持文本在画布上垂直居中

    我遇到的问题是将用户输入的文本保持在画布元素内垂直居中 我已经构建了一个测试环境来尝试解决这个问题 我在这篇文章中提供了该环境以及小提琴 这是我的代码 HTML Enter Your Text br
  • 如何使用 Phonegap 将图像加载到 HTML5 Canvas 上

    尝试将图像加载到 html5 画布上 然后使用 Phonegap 在 Android 上运行 html5 这是我的 HTML
  • 在 Chrome 中拖动时更改 HTML5 Canvas 上的光标

    我正在研究如何在拖动鼠标时更改 HTML5 画布上的光标 遇到了这个 拖动鼠标时更改 HTML5 Canvas 上的光标 https stackoverflow com questions 4945874 change cursor ove
  • 如何为网页上的文本绘制添加动画效果?

    我想要一个网页 其中有一个居中的单词 我希望用动画绘制这个单词 以便页面以与我们相同的方式 写 出该单词 即它从一个点开始 随着时间的推移绘制直线和曲线 以便最终结果是一个字形 我不在乎这是否完成
  • HTML5 文本画布在文本宽度大于允许的最大宽度时旋转

    朋友们 我发现旋转文本画布对象有点棘手 问题是 我正在绘制一个图形 但有时每个条形的宽度小于该条形的 值 所以我必须将 值 评定为 90 度 在大多数情况下它都会起作用 我正在做以下事情 a function x y text maxWid
  • Firefox:drawImage(视频)失败并显示 NS_ERROR_NOT_AVAILABLE:组件不可用

    尝试打电话drawImage with a video其来源是网络摄像头源似乎在 Firefox 中失败了NS ERROR NOT AVAILABLE Component is not available 我尝试等待视频标签触发的每个事件
  • 如何在两个动画画布元素之间进行通信?

    我想在两个动画画布元素之间进行通信 我使用 Adob e Animate CC 制作了两个 html5 canvas js 动画 我已将这两个元素放入一个 html 页面中 我可以成功地从这些动画中调用函数 在下面的代码中成功触发了警报 我
  • Fabric.js canvas.toDataURL() 通过 Ajax 发送到 PHP

    当我需要创建具有透明背景的图像时 我遇到了问题 我还是不知道问题出在fabricjs还是php 当我发送带有彩色背景的图像时 一切正常 当我发送具有透明背景的图像时会出现问题 生成的图像是用黑色背景创建的 那么 让我更好地解释一下 当用户单
  • 使用 PixelWriter 在 JavaFX Canvas 上进行透明绘图

    有谁知道为什么使用drawImage 在Canvas上进行透明度绘制工作得很好 但在PixelWriter上却根本不起作用 我最初认为这可能与画布 上下文上的混合或其他模式 设置有关 但还没有任何运气 我需要每个像素的可变透明度 而不是整个
  • HTML Canvas:如何绘制翻转/镜像图像?

    当我在 HTML 画布上绘制图像时 我试图翻转 镜像图像 我发现一个游戏教程显示了角色必须面对的每个方向的精灵表 但这对我来说似乎不太正确 特别是因为每个框架都有不同的尺寸 实现这一目标的最佳技术是什么 我尝试致电setScale 1 1
  • 如何检测形状是否被单击(HTML5 画布)?

    我正在使用画布绘制不同的形状 如矩形 三角形 六边形等lineTo方法如这个博客 http blog riacode in 2011 03 03 drawing regular polygons in html5 canvas 我只是想要一
  • 通过鼠标和触摸在画布上绘图

    我想在画布上绘图 使用鼠标效果很好 但我必须如何修改代码才能使其在 iPad 或 Nexus 上运行 link http jsfiddle net FgNQk 6 var canvas document getElementById can
  • 在 SVG 中绘制 DOM 对象时如何在 Canvas 中使用 Google 字体?

    根据 Mozilla 的文档 您可以在 Canvas 上绘制复杂的 HTML 例如this https developer mozilla org en US docs Web API Canvas API Drawing DOM obje
  • 将画布的鼠标坐标转换为地理坐标

    我正在尝试使用 Python Tkinter 创建包含意大利所有城市的地图Canvas 我在网上找到了一张意大利地图的图片 其中突出显示了一些城市 并将其插入到我的Canvas 之后 我使用一个函数来确定 2 个突出显示的城市的画布坐标 i
  • 正确缩放 Javascript Canvas 游戏

    我正在尝试根据屏幕尺寸动态缩放画布游戏 我了解如何根据屏幕尺寸调整画布大小 但我也想调整内容大小 基本上我希望游戏在每台设备上看起来都一样 我目前遇到的问题是 当拥有 4k 屏幕的人玩游戏时 他们可以轻松看到整个地图 当有人的屏幕非常小时

随机推荐

  • 在 MongoDB 中维护文档的自定义顺序/排序

    在我的网络应用程序 XY 中 我向用户展示了一个经典的数据 文档 列表 表格 虽然 MongoDB 和 Mongoose 我使用 Mongoose 提供的所有排序功能对我来说都非常清楚 但我对按日期或字母顺序排序不感兴趣 就我而言 让用户维
  • C# 中未捕获未处理的异常

    我使用以下代码来处理程序中所有未处理的异常 但问题是异常没有传播到指定的方法 STAThread static void Main AppDomain currentDomain default AppDomain currentDomai
  • 黑莓中两个不同版本(4.6、4.7 和 5.0+ 以上)的一个构建

    我想导入黑莓 5 0 及更高版本的 facebook 库 但不想导入 4 6 和 4 7 的这些库 我尝试通过以下链接使用 4 7 及更高版本的预处理器 http smartfone more blogspot in 2010 05 cod
  • Tkinter 中的 matplotlib 画布上的光标

    我正在使用 Tkinter 模块在 Python 上编写 GUI 包 并通过使用 matplotlib图画布TkAgg显示一些图形数据 我还想通过以下方式与数据的视觉表示进行交互画布 mpl connect方法 一切都工作得很好 但我对默认
  • 查找具有给定 RGB 颜色的像素

    我想在 Python 中获取具有给定 RGB 颜色的像素的所有坐标 这是我正在使用的代码 但它不起作用 我想找到所有黄色像素 from PIL import Image def find rgb imagename r query g qu
  • PHPUnit 打印测试执行时间

    有没有办法用 PHPUnit 打印每个测试的执行时间 只需添加 log junit my tests log xml 然后使用电子表格应用程序 Excel Numbers Calc 打开此文件进行查看 您可以获得所需的所有信息 并且可以按测
  • 如何仅保存自定义元以供审阅数据仅在“预览更改”中查看,而不是前端的实际帖子

    我正在尝试添加自定义元并查看 预览更改 我可以看到更改 但更改也适用于前端的实际帖子 我希望更改将在发布或更新时更新到实际帖子 而不是在 预览更改 单击时更新 请帮忙 我已经关注了这个插件 函数 my plugin save post po
  • Cognito - error_description 用户名属性映射

    我已在 Amazon Cognito 中配置了一个用户池 以便能够登录 注册用户 并将 facebook 设置为身份提供商 在我的托管用户界面上 我可以成功单击 继续使用 facebook 但在重定向到 return uri 后 显示以下错
  • URLSession.shared.dataTask接收数据的正确方法

    再会 我在尝试找到检查从 dataTask 接收到的 数据 响应 错误 并进行一些特殊错误处理时的正确顺序时有点困惑 通常我们的 URLSession 看起来像这样 class HTTPRequest static func request
  • 在 Windows 上从源代码编译 RCurl

    由于没有 Windows 二进制文件v1 95 4 3然而 我需要安装 编译RCurl http cran r project org web packages RCurl index htmlWindows 8 1 上的源代码包 64 位
  • 动态添加/删除页眉和页脚

    我需要能够添加和删除页眉和页脚ListView动态地 所以我用页眉和页脚初始化我的活动 然后在某个时候我想隐藏它们 后来我需要添加以前的页眉和页脚 并保持相同Adapter 所以我找到了这个解决方案 但它很难看 我真的希望还有其他方法 基本
  • 从路径中获取文件名

    从路径获取文件名的最简单方法是什么 string filename C MyDirectory MyFile bat 在这个例子中 我应该得到 MyFile 没有扩展名 该任务相当简单 因为基本文件名只是从文件夹最后一个分隔符开始的字符串的
  • Ruby - 如何将消息长度表示为 2 个二进制字节

    我正在使用 Ruby 并且正在与一个网络端点进行通信 该端点需要在发送消息本身之前格式化 标头 标头中的第一个字段必须是消息长度 它被定义为网络字节顺序中的 2 个二进制字节消息长度 例如 我的消息长度是1024 如何将 1024 表示为二
  • 使用 group_by 完成列并完成

    我在使用 dplyr 时遇到了一些问题group by功能 执行此操作后 datasetALL gt group by YEAR Region gt summarise count number n 这是结果 YEAR Region cou
  • addEventListener 仅在页面刷新时工作?

    我正在修改两个下拉列表的外观 这里没有问题 一切都很好 唯一的问题是addEventListener该方法仅在页面刷新时有效 如何使此代码在页面加载时工作而无需点击刷新按钮 window addEventListener load func
  • 输入中每 4 个字符后插入破折号

    我想在输入中每四个字符后插入一个破折号 我有一个信用卡输入框 当用户输入并到达每个第 4 个字符时 jQuery 将插入一个连字符 例如 1234 5678 1234 1231 UPDATE 我正在尝试一些代码 我认为我非常接近正确的代码
  • 具有模糊轮廓的单张多边形

    我正在寻找一种方法来获得传单多边形的模糊 模糊 渐变轮廓 这应该有助于使国家 地区轮廓更加简单 目前 当您放大代表国家 地区的 svg 时 它会变得丑陋 不准确 我正在考虑将 CSS 属性附加到 svg 上 类似于这样 http www w
  • 计算组平均值,同时排除每个案例的个体值

    我有一个包含 70 个案例 研究参与者 的数据集 是否有一个函数可以计算这 70 个案例的平均值 以便分析中不包含每个单独的案例 这看起来像 mean for case x value 1 value n value x n 任何信息都会有
  • CSS 100% 宽度,每 20px 步长

    是否可以在纯CSS中设置一些宽度变化的步骤 假设我的 div 宽度为 100 所以当容器为 30px 时 它的宽度将为 30px 但是是否可以将一些 跳跃 设置为 20px 这样当容器为 30px 时 它仍然是 20px 但是当容器为 40
  • 使用 EaselJS 的无限画布

    有没有办法用 EaselJS 显示无限画布 我已经阅读了使用 Javascript 或 JQuery 执行此操作的方法 但是有什么方法可以使用 EaselJS 进行管理吗 Thanks 您可以使用 JavaScript jQuery 拖放画