问题标签 [alchemy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 需要帮助使用 libpng 读取图像
这是我的功能...我不知道为什么它不起作用。生成的图像看起来不像 .png 的样子。但也没有错误。
ImageData 只是一个简单的结构,用于保存 x、y、宽度和高度,而 imageData 是该结构的数组。
这是输入和输出图形的并排屏幕截图(尺寸 8x30)(我在一分钟内进行了测试),这是在将 alpha 设置为 255 以使其显示之后(因为我得到的 alpha后面是 1)。左边是原创,右边是通过这个函数阅读后发生的事情。扩大 400% 以提高可见性。
http://img217.imageshack.us/img217/1627/testbullet.png
这是跟踪的日志:
被困在这几天,所以我会很感激我能得到的任何帮助。
编辑:这是另外 2 组之前和之后的比较......再一次,在所有的跟踪中,alpha 为 1,并在截屏之前更改为 255。
xml - adobe alchemy 中的 xml 解析
您好,您能否提供一个如何在 adobe alchemy 中解析 xml 文件的示例。我正在尝试在 expat 上工作,但是在将字节数组传入和传出 c 代码时我没有运气。
我需要将文件的字节数组传递给炼金术,还是足以传递文件名。
谢谢。
哥伦比亚广播公司
flash - 简单的OpenGL实现
我致力于将一些休闲游戏移植到 Flash。它们基于 OpenGL。使用的 OpenGL 版本大多是 1.x。游戏引擎依赖2D。它基于 OpenGL 纹理和最简单的 glBegin/glTexCoord/glVertex/glEnd。也使用了混合和平铺。
这个问题。我不想再重新发明 OpenGL。请告诉 - 也许你知道简单的开源 OpenGL C/C++ 实现?我尝试使用 Alchemy,所以欢迎使用 C/C++ :) 我已经发现 Mesa3d。
flash - 克服闪光波形性能问题的建议
我的问题是下面这个问题的后续问题,但我认为最好开始一个新问题。
所以我在 Flash 中有一个波形绘图实现,它从 mp3 中提取 pcm 数据并在多个缩放级别绘制波形。它工作正常,直到您开始处理超过几分钟的曲目,然后它太慢了,令人无法接受。所以我追求更快的解决方案。
我首先想到尝试使用像素弯曲器,因为我听说它的计算速度非常快。这是真的,但正如上面发布的链接所示,缺少 for 循环使该技术不适合。
所以现在我在想什么是最好的途径太钱包作为替代品。
用 c 编写我的波形计算代码并使用炼金术会给我带来可感知的速度和性能改进吗?它本质上仍然只是 as3 运行对吗?
使用某种服务器端脚本会更好吗?也许将 pcm 数据作为字节数组传递给 php 脚本并让脚本返回绘图数据?
你能想到我可以尝试研究的任何其他技术吗?
编辑:>>
我在 as3 中尝试做的是
将 mp3s 音频数据提取到字节数组 确定以最大缩放级别绘制的虚拟像素数(例如,800 像素 = 2 倍缩放时轨道的 10 秒)
因此,如果我的样本数 = 33315840 并且最大虚拟像素数 = 1600(需要滚动,因为我的视口是 800 像素宽),那么我的块大小 = 33315840/1600 =20822
因此,对于 hte bytearray 中的每 20822 个样本,我找到最大值并将该值用作我的绘图值
编辑 2
@backtodos
我考虑过你提出的观点,它似乎比整个最大业务更明智。
我已经完成了以下代码,我认为它代表了您所说的内容。一个问题是,如果我将分辨率更改为大于 800 的任何值,我会得到非常高的线条和非常短的线条,这看起来很奇怪。在 800 处,它的波形非常好!
如果我的分辨率超过 1600,当我尝试绘制矩形时会抛出错误,说明参数无效。
我想我对你的缩放策略有点困惑。你说“如果你放大,你用重复的分辨率重新绘制波形”。我真的不明白你的意思是什么?我知道我一次只能绘制 800 个像素。假设我进行了 2 倍缩放,这是否意味着我将样本源的读取量增加一倍并拥有 1600 个绘图点,但根据滚动位置一次只能绘制 800 个?
编辑 3 >基于只获得 800 个绘图点的改进代码,此代码对于我的目的来说看起来足够快。使用@backtodos 坚持解决方案的建议可以节省大量处理时间。
解决方案 感谢 backtodos 的帮助。这可能需要大量的优化,但对某些人来说这是一个很好的起点。
flash - Alchemy 的 AS3_Shim 坏了?
我正在尝试在我的炼金术代码中使用AS3_Shim,但它似乎不起作用。它总是返回一个 NULL 函数指针。似乎没有任何使用 AS3_Shim 的例子,所以我不确定我做错了什么。这是一些示例代码:
c++ - std::map 在炼金术中被破坏?
以下代码测试使用 std::map 和 std::string 作为键:
当使用普通 gcc 编译时,该测试将按预期打印出“test1 : 1”。但是,当使用 alchemy 编译时,它会打印“test1 : 3”(!)。这里有些不对劲。
是否有任何解决方法或者我只是卡住了?
flash - 炼金术破坏了全局?
Adobe Alchemy似乎没有运行全局构造函数。下面是一些简单的测试代码:
当使用本机 gcc 编译时,它输出:
当使用 alchemy gcc 编译时,它会输出:
这个问题破坏了很多代码,尤其是UnitTest++(这取决于初始化全局变量以使其自动测试列表功能正常工作)。
我真的很想弄清楚这一点。它是一个错误还是一个没有及时实现发布的功能?是否有可能解决?
编辑: Adobe 论坛上的相关帖子在这里。
flash - 使 Alchemy 和 UnitTest++ 协同工作
我在一个使用UnitTest++的项目中使用Adobe Alchemy。单元测试作为构建过程的一部分运行。
事实证明,UnitTest++ 依赖于在 Alchemy 中没有实现的 C++ 的一个特性,即实例化静态类和/或调用函数来初始化全局变量。
UnitTest++ 的优点在于您不必记住将测试添加到要运行的测试列表中。它使用一些宏魔法自动创建测试用例类并将它们添加到全局测试列表中。所以这:
变成这样:
其中的构造函数ListAdder
添加testMyTestInstance
到测试的全局列表中。
问题是由于 Alchemy 错误,ListAdder
构造函数永远不会运行,所以测试列表总是空的。
为了证明ListAdder
构造函数永远不会被调用,您可以检测它在调用时崩溃:
这在本机编译时会崩溃,但在使用 Alchemy 编译时不会。
一个不那么激烈的查看方法是添加一个 printf:
在本机编译时,您将看到每个测试的“ListAdder ...”,但在 Alchemy 下编译时,它不会打印任何内容。
我的问题是:如何修改 UnitTest++ 以便测试能够运行?此处描述的解决方法似乎并不适用。
flash - swfbridge 和大文件
我有一个与Alchemy一起使用的 C 项目。该项目有一些我想使用 swfbridge 运行的构建后命令行测试。
这些测试运行,但它们非常慢。问题是他们将一些中等大小的文件(~3MB)读入内存。通过常规 Alchemy 使用相同的文件运行这些相同的测试(例如,不使用 swfbridge 而是使用 AS 的 supplyFile)非常快。
我认为瓶颈是swfbridge。更具体地说,以 swfbridge 加载文件的方式。它读取它们并通过 localhost 连接将它们以 1024 字节块的形式传输到主 alchemy swf。(您可以在 swfbridge.log 中看到这种情况。)
我的问题是:有没有办法让 swfbridge 更有效率?例如,我可以让它使用不同的块大小吗?
这是文件读取代码的示例。如果你给这个代码一个大约 3MB 的文件,它会运行得非常慢。
java - 用java小程序不可能做音频视频?
这是我在 J2SE 中使用 Gstreamer 的 Native java 包装器编写的代码。但是很可惜它在 Web 浏览器中不起作用,我很沮丧我现在能做什么,我别无选择,只能结束这个项目。
是否无法通过 Java Applet for Gstreamer 使用音频/视频或构建 CD/DVD 质量的音频?(这不是针对万维网的,仅针对点对点或点对点 10 点之间的网络浏览器)。
例如:作为 j2SE 的工作示例,但相同的代码不能与浏览器中的 java 小程序一起使用。
注意:跟进:在任何 Web 浏览器中,当您拥有 java 时,这种本机方式都有效。所以 JAVA 小程序可以在任何浏览器中运行。像我这样的人,面对这个问题,不要感到困惑。