我是一个长期的ActionScript 2用户,现在开始使用ActionScript 3.我缺少的一件事是复制AS2的MovieClip.onReleaseOutside功能的简单方法.几乎总是有必要实现这个事件,否则你会得到一些有趣的错误,比如flash认为你的鼠标已经关闭了.
根据AS2到AS3迁移指南,我应该使用flash.display.InteractiveObject.setCapture()它,但据我所知,它不存在.我猜这个文件已经过时或不正确.我在网上发现了一些关于如何复制这个功能的帖子,但是他们有自己的问题:
必须有一个更简单的方法,不要告诉我Adobe在重写Actionscript时忘了这个吗?
示例AS2代码:
// Assume myMC is a simple square or something on the stage
myMC.onPress = function() {
this._rotation = 45;
}
myMC.onRelease = myMC.onReleaseOutside = function() {
this._rotation = 0;
}
Run Code Online (Sandbox Code Playgroud)
没有onReleaseOutside处理程序,如果你按下squre,将鼠标拖到它外面,然后释放鼠标,那么方块就不会旋转,并且看起来被卡住了.
我让 nodejs 监听 tcp 端口并从 Flash XMLSocket 获取内容。如果我尝试从 flash ( XMLSocket.send(long_message)) 的一条消息中推送大量数据,我总是最终stream.on("data", function(d) {触发事件,而我希望在传输整个消息时发生。Flash 的 XMLSocket 将数据作为以空字节结尾的 UTF8 编码字符串传输。如何控制我的消息一致性?
我在这里找到了类似的问题。但没有明确的答案。我知道我的消息的结尾应该是空字节,但是你能给我一个关于如何存储不完整消息并避免与下一条/并发消息重叠的例子吗?
在 maerics 的回答之后,我做了类似的事情
var server = net.createServer(function(stream) {
var dataBlock = "";
stream.on("data", function(d) {
processChunk(d);
});
function processChunk(data) {
var chunks = data.split("\0");
while (chunks.length > 1) {
if (dataBlock.length > 0) {
dataBlock += chunks.shift();
processIncompingMessage(dataBlock);
dataBlock = "";
}
else {
processIncompingMessage(chunks.shift());
}
}
dataBlock += chunks.shift();
}
}
Run Code Online (Sandbox Code Playgroud) 在Flash中,似乎有两组鼠标点击事件:
这些事件之间有什么实际区别吗?我无法从文档中看出来,并且我没有注意到实际使用中的任何内容,但是对于相同的基本事件有两组不同的名称似乎很奇怪.我错过了什么吗?它们之间有区别吗?
澄清:这是ActionScript 2代码,针对Flash 8.
我在TextMate for Actionscript 2中遇到了Toggle Comment命令("注释行/选择")的问题(我知道,我知道).我已经尝试完全剥离设置的语言以隔离问题,并试图通过Ruby,但都无济于事.我的问题是该命令坚持使用块注释进行注释切换(⌘+ /),并且在添加首选项文件以更改TM_COMMENT_MODE时不遵守.我甚至试过使用这个简单的偏好:
{ shellVariables = (
{ name = 'TM_COMMENT_START';
value = '// ';
},
);
}
Run Code Online (Sandbox Code Playgroud)
但没有运气.我希望有人比我自己更好地说Ruby(即,根本就是)可以找到一个简单的解决方案.您可以通过创建新的actionscript 2文件并尝试⌘+ /一段代码(甚至一行)在TextMate的任何(最近)安装中重现.与将使用行注释的JS文件对比.将"评论"片段从JavaScript复制到Actionscript包,问题将持续存在.
谢谢!
我注意到我可以将函数的返回类型设置为'Void'以及'void',并且只是想知道是否存在并且有益处?
我有一个我想要访问的嵌套影片剪辑实例.影片剪辑的路径由两个变量(类似于行和列)定义.
我已经动态访问父级影片剪辑,如下所示:
eval("row"+ ActiveRow)
现在我想要动态地访问一个名为#(#)的行(#)的子项.
以下是我完成任务的最佳猜测(两者均无效):
var i:number;
eval("row"+ ActiveRow +".let"+ i)或eval("row"+ ActiveRow).eval("let"+ i)
非常感谢您的努力和可能的解决方案..
我有一个主要班级
//main.as
package {
public class main {
public var testGlobal:string = "testValue";
}
}
//pop.as
package {
public class pop {
function pop():void {
trace("testGloabl from main.as" + testGlobal);
}
}
}
Run Code Online (Sandbox Code Playgroud)
如何使用主类Object在pop.as宽度上获取testGlobal值.有没有全局变量的方法?
如何在AS3中使用全局变量.
在Flash中,我可以进入库中图像的属性,并检查"允许平滑"以在缩放或旋转图像时启用重新采样.
如何从SWF从外部URL动态加载的图像中获得相同的效果?
我有一个使用Flex的GUI.我有一个条件,我需要在本地机器中执行一些命令行参数,并将结果返回或输出回文本框区域.如何在本地机器上提交,执行命令并返回输出?
Command to execute example:
echo logfile.log | grep username
Code:
button1.onRelease = function ()
{
// in this computer, it will now run a command, please wait.
}
Run Code Online (Sandbox Code Playgroud)
我试图ExternalInterface.call()从我的SWF里面.
请注意,调用来自我嵌入到另一个SWF(_root我无法控制的SWF)的SWF内部.
这是我的JavaScript:
function player_DoFSCommand(command, args)
{
args = String(args);
command = String(command);
var arrArgs = args.split(g_strDelim);
switch (command)
{
case "CC_ClosePlayer":
console.log("yo");
break;
default:
// alert(command);
break;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的AS2代码:
import flash.external.ExternalInterface;
var quiz = _root;
quiz.g_mcFrame.mcFinish.swapDepths(quiz.getNextHighestDepth());
quiz.g_mcFrame.mcFinish._visible = false;
quiz.oSlide.m_oInteraction.m_oVariableMgr.m_arrBoolResumeData = false;
var arrVars:Object = quiz.oSlide.m_oActionHandler.m_oFrame.m_oVariableMgr.m_arrVariables;
var args:Array = [
arrVars[2].m_nNumber, // Points awarded
arrVars[3].m_nNumber, // Max points
arrVars[5].m_nNumber, // Pass percentage
arrVars[6].m_nNumber, // Pass points
arrVars[7].m_nNumber, // Score percent
arrVars[10].m_strString // Result
]; …Run Code Online (Sandbox Code Playgroud) javascript flash actionscript actionscript-2 externalinterface
actionscript-2 ×10
flash ×7
actionscript ×6
dynamic ×1
events ×1
flashdevelop ×1
javascript ×1
migration ×1
mouse ×1
movieclip ×1
node.js ×1
ruby ×1
textmate ×1
variables ×1
void ×1