- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我做过很多 Flash 开发,一直想尝试一下 canvas
有一段时间,但浏览了一些教程后,我不明白这应该如何取代 Flash。也许我想错了?
注意:我在这里问了很多问题。我真的不希望他们都得到答复。我真正在寻找的是一些关于我在开发 <canvas>
时应该如何思考的基本指导。 .
从规范来看,它看起来像 <canvas>
确实更类似于 Graphics
Flash 中的类,其中一个将使用如下内容:
class ColoredCircle extends Sprite {
private var _color:uint=0x0;
public function ColoredCircle(color:uint) {
this.color = color;
}
public function set color(value:uint):void {
_color = value;
//******** CANVAS FUNCTIONALITY ***********
this.graphics.clear();
this.graphics.beginFill(_color);
this.graphics.drawCircle(0, 0, 10);
//*****************************************
}
}
封闭的Sprite
然而,class 有很多我非常喜欢使用的功能。如:
var parentSprite:Sprite = new Sprite(); // container for everything
var childSprite:Sprite = new Sprite(); // mid-level container
parentSprite.addChild(childSprite);
var someCircle:ColoredCircle = new ColoredCircle(0xFF0000); // my circle
childSprite.addChild(someCircle);
someCircle.x = 20; // my circle moves to the right
childSprite.y = 40; // my circle moves down
parentSprite.rotation = 90; // my circle rotates 90 degrees around a point (20,40) away
// Drop shadow
// note that this is NOT a box shadow
// - it clings to the visible border of the sprite
someCircle.filters = [new DropShadowFilter(....)];
// Color transforms (could also use the ColorTransform filter)
someCircle.transform.colorTransform = new ColorTransform(.....);
// Can also do blur, glow etc.
这主要是我可以创建一个类ColoredCircle
这是一个提供所有这些功能的图形对象,但我可以扩展它。自动鼠标悬停、鼠标移出行为?简单的。被拖来拖去的能力?也很容易。我可以添加私有(private)成员来存储数据等。我可以轻松地从显示列表 (removeChild()) 中删除我的元素,然后同样轻松地将其添加回去。
还有一百万个其他便利设施(想到 getBounds()
和 localToGlobal()
/globalToLocal()
),但我可以没有它们生活。让我畏缩的是其他事情。
<canvas>
是吗?我应该治疗 <canvas>
像Sprite
?将所有内容标记为 position:relative 应该允许我基本上复制显示列表类型的行为(我不相信你可以嵌套 <canvas>
元素,但你可以通过放入一堆 <div>
来实现)。但是,我使用了 很多 Sprite
在我的项目中。那将是一堆小 Canvas 元素的公制废话。另外,您如何处理鼠标事件 <canvas>
?如果有人点击 Canvas 框模型的透明部分(坏),它们会触发吗?如果我有一个带有两个圆圈的 Canvas 并且我需要知道点击了哪个圆圈,我是否必须对鼠标位置进行边界数学运算? (呃)。
从我的(非常初步的)经验来看,这感觉更像是 Processing,这使得制作漂亮的、非交互式的东西变得非常容易,但是在其中开发 UI 却是一场噩梦。
最佳答案
单独使用 Canvas 会受到限制。 Canvas 基本上是带有一些 Graphics 类方法的 BitmapData。如果您想了解如何在没有 flash 的情况下做类似 flash 的事情,您应该看看 jquery 和 css3(请参阅 2DTransform jquery 插件)。
多年来我一直是 Flash 开发人员,当我决定开始使用 canvas 和 html5 时,我只会选择我在 Flash 中创建的东西,然后尝试使用 javascript html css 等重新创建它们......你您会发现您在 Flash 中所做的大部分工作都可以使用 jquery css 快速完成,有时也可以使用 canvas。
看一个示例可能对您有好处...也许您可以发布一个指向您在 Flash 中完成的内容的链接,我会指出 html5/javascript/canvas 等价物。
关于flash - 从 Flash 切换到 <canvas> 的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4234818/
我在 mac 上,我有一个预先存在的 Flash 项目。 (即通常的 fla、src、lib)文件夹。 现在,我想开始使用 Flash Builder 4 编写代码。 如何导入所有这些文件,以便我现在
我在 Flash 视频播放器中遇到了一个奇怪的、很难重现的图形故障!,目前仅在 Chrome 中。 “进入建筑物”下方的灰色矩形显示了 Flash 播放器所在的 html div 的背景颜色。“我们在
我对 Flash 有点陌生,我只是找不到一种很好的方法来控制我添加到容器影片剪辑中的元素的位置。 我所做的是 addChild 到我的目标容器 Movie Clip 和控件 child 的 x,y 值
我是一名 AS3 开发人员,习惯于使用 Flash Builder。我正在与一位使用 Flash Professional 为游戏设计 Sprite 和背景的设计师合作。我希望为我们创建一个集成的工作
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
当您像下面那样在 FLash Builder 中嵌入媒体时,它会创建一个类来引用 [Embed(source="images/list.png")] protected static const LI
有没有办法在 Flash 上本地启用跳帧? 当您开发游戏时,您会开发动画以匹配游戏玩法的节奏,并以目标帧速率(Flash 通常为 24-40fps)进行制作。但是如果用户的电脑速度太慢,无法保持目标帧
大家好,我想知道 AS3 中的 dispatchEvent 是什么。 谷歌搜索时没有任何想法。 :( 所以请帮帮我 编辑1: public static const SET_VOLUME:Strin
我多次听说我应该避免在我的网站上使用 Flash。然而,没有人告诉我这样做的充分理由。我已经搜索了原因,我看到很多不正确的(例如 Flash 中的文本不能被搜索引擎索引),或者不一定是真实的或足够重要
我正在为一个非常大的网站做一些测试,创建了许多不同的开发人员。有没有办法判断网站是否在使用 flash和/或已加载闪存 plugin ?如果页面使用 Flash,有没有办法告诉页面/代码的哪一部分触发
我正在研究“Foundation Actionscript 3.0”一书中的音频播放器演示。当我尝试发布 AudioDemo_final.FLA 文件时,出现以下错误:“Adobe Flash CS3
我有一个特定的FLA,每次尝试编译时都会崩溃(切换到Snow Leopard之后)。 Flash只是停滞不前,我被迫使用“强制退出” ...我不知道是什么原因造成的,并且找不到任何崩溃报告。 Flas
所以我非常熟悉 Java、C 和 C++ 中的内存管理;然而,在闪存中有哪些结构用于内存管理?我假设 flash 有一种像 java 的虚拟机,并且我一直假设当它们被设置为 null 时会被垃圾收集。
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 5年前关闭。 Improve thi
是否可以在 flash 中创建 UDP 套接字连接?我知道 RTMPF,但它不提供对 UDP 的访问。我知道在 AIR 中它是可能的,但我正在寻找一种“闪光”解决方案。 谢谢你 最佳答案 号 UDP
不知道如何表达这个意思,但是我想知道是否可以创建一个全面的错误处理程序来保护整个代码,然后发送给自定义处理程序,该程序在程序中以图形方式输出信息。类似于以下内容: root.addEventListe
我正在尝试创建可在不同场景中使用的UI影片剪辑。 它使用来自根范围的变量来确定状态。 当我按下静音按钮时,效果很好,但是当我尝试取消静音时,就变得很奇怪。有时需要2次点击才能取消静音,有时还需要更多。
是否可以通过麦克风记录最终用户? 我可以用录音做什么 Action ? 例如,我能否实时获得声音(分贝)的音量? 我可以将记录保存到文件中吗? 谢谢。 最佳答案 是的,Flash允许(具有用户许可权)
当我访问我之前在 IE 中构建的站点时,我在浏览器底部弹出消息栏,提示该站点想要运行 Flash。 这很好,除了网站中没有任何 Flash。 什么会导致这种情况? Flash 现在怎么会出现在站点中?
概要 我正在尝试制作一个包含多个相同SWF的网页。我有一个问题,它的加载速度太慢了(虽然下载时间还不错)。我在每个单元格中都有一个4x4表格,在iframe中嵌入了一个swf文件。 (注意:4 X 4
我是一名优秀的程序员,十分优秀!