是否可以在不使用MXML的情况下使用Flex Framework和组件?我非常了解ActionScript,并且不想乱用一些新的XML语言只是为了获得一些简单的UI.任何人都可以提供一个包含.as文件的例子,该文件可以编译(理想情况下通过FlashDevelop,虽然只是告诉如何使用Flex SDK也可以)并使用Flex Framework?例如,只显示弹出打开警报的Flex按钮将是完美的.
如果不可能,有人可以提供一个最小的MXML文件,它将引导一个自定义AS类,然后可以访问Flex SDK吗?
当我使用emacs python-mode时,如果一行的最后一个字符是一个左括号,它只是从前一行的缩进中缩进下一行.
call_some_function(
some_very_long_argument_that_I_want_to_put_on_its_own_line)
Run Code Online (Sandbox Code Playgroud)
我喜欢.现在在ecmascript模式(我用于动作脚本3),它总是缩进到前一个括号的级别.
call_some_function(
this_is_not_really_saving_me_any_horizontal_space);
Run Code Online (Sandbox Code Playgroud)
在这方面我怎么能像ecthon-mode那样制作ecmascript-mode缩进?
我想在Actionscript 3中做类似的事情:
if(variable is Object) ...;
else ...;
Run Code Online (Sandbox Code Playgroud)
凡variable可能是String(),Number(),Array(),Object()...
目前,上述检查对所有这些类型都返回true,这是有道理的.但是,我只希望它为使用的对象返回true new Object().
任何帮助将非常感激!
我试图让我的服务器从登录用户(web)获取sso并将其传递给AS3客户端.
如果我在客户端(下图)中设置了特定的SSO,则服务器从数据库中选择用户.
目前我收到错误:错误1:您的SSO票证无效.请重新登录然后重新加载.
package
{
import com.archicruise.external.RoomManager;
import com.archicruise.server.Connection;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.LoaderInfo;
import flash.display.Sprite;
import flash.events.Event;
import flash.system.Security;
import flash.system.System;
public class Main extends Sprite
{
[Embed(source = '../assets/client_back.png')] private static const clientBackImage:Class;
public static var SITE_URL:String = "http://localhost/archicruise/";
public var roomLoader:RoomManager;
private var connection:Connection;
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
//Add client background
addChild(new clientBackImage() as Bitmap);
//Got an SSO ticket?
var …Run Code Online (Sandbox Code Playgroud) 我正处于这样的程度,即我的项目和更多项目的构建时间非常长.我想建立一个构建服务器,但我没有任何经验,除了从最终用户下载文件.
我理想的设置是:GitHub,我可以放置.fla文件,类和ANE.服务器看到它,编译它,并允许我远程测试它或挂钩到一些调试器,让我看到断点处的堆栈跟踪和活动变量以及Adobe Animate或Flash Builder等错误.
现在我看到有Jenkins的GitHub插件.我看到有关于如何使用Flex/AIR进行设置的问题.我来这里有几个问题.
我之前从未使用过Jenkins或任何其他能够自动完成任务的工具.如果您有时间,任何一步一步的解释都会受到赞赏.
是否可以以编程方式强制在ActionScript 3.0中强制执行完整的垃圾回收?
假设我已经使用eventListeners创建了一堆Display对象,并且已经删除了一些DO,一些eventListener已被触发和删除等等...有没有办法强制垃圾收集运行并收集所有内容可以收集吗?
我有一个由两个文件组成的小动作"项目",称为foo.as和bar.as. 由于我不打算进入的原因,我真的很想从命令行构建.SWF,而不需要设置任何类型的正式项目.我曾经使用的每一个编译器都允许你这样做,但是对于我的生活,我无法弄清楚如何强制MXMLC编译这两个文件并将它们链接到SWF.
天真的,我试试
MXMLC foo.as bar.as
但我被告知只允许一个源文件.
好吧,假设我分别编译了这两个文件,我将如何将它们链接在一起以获得最终的SWF?
注意:我有两个文件而不是一个文件的唯一原因是每个文件只需要一个类.我尝试将两个类放在一个文件中,然后创建其中一个类private,internal但这些想法都不起作用.我会欣喜地发现我可以在一个文件中放置多个类(只有一个是公共的).
根据我对ActionScript的理解,有两种类型的转换:
var bar0:Bar = someObj as Bar; // "as" casting
var bar1:Bar = Bar(someObj); // "class name" casting (for want of a better name)
Run Code Online (Sandbox Code Playgroud)
另外,请纠正我,如果我在这里错了,ascast会返回一个类的实例,或者null"class name"cast会返回一个类的实例,或者如果演员不可能会引发异常 - 除了这,他们是相同的.
但是,鉴于此,as施法似乎是对早期失败 - 快速 - 失败 - 早期原则的大规模违反......而且我很难想象一种情况,即使用强制转换as而不是使用类名转换(可能会instanceof抛出那里.
所以,我的问题是:在什么情况下使用as铸造会更好?
作为Java世界中的一个相对新手,我发现很多事情令人沮丧地完成,在许多其他框架中相对微不足道.一个主要的例子是异步http请求的简单解决方案.看起来似乎并不存在,最好的方法是什么?使用像httpclient这样的阻塞类型的lib或内置的java http东西来创建我自己的线程,或者我应该使用更新的非阻塞io java东西 - 对于应该简单的东西来说似乎特别复杂.
我正在寻找的是从开发人员的角度来看易于使用的东西 - 类似于AS3中的URLLoader - 您只需创建一个URLRequest - 附加一堆事件处理程序来处理完成,错误,进度等,并调用一种解雇它的方法.
如果您不熟悉AS3中的URLLoader,它非常简单,看起来像这样:
private void getURL(String url)
{
URLLoader loader = new URLLoader();
loader.addEventListener(Event.Complete, completeHandler);
loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
URLRequest request = new URLRequest(url);
// fire it off - this is asynchronous so we handle
// completion with event handlers
loader.load(request);
}
private void completeHandler(Event event)
{
URLLoader loader = (URLLoader)event.target;
Object results = loader.data;
// process results
}
private void httpStatusHandler(Event event)
{
// check status code
}
private …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用JavaScript ExternalInterface和webpack 将ActionScript与JavaScript连接起来.
ExternalInterface只能call在全局对象(window)上找到provoked()函数.如何在window(全局对象)上获取webpack模块参考?
请允许我详细说明一下,我想为company(window.companyName)创建一个名称空间,其接口为ExternalInterface:
window.companyName = { isReady: function() { ... },
driver1: function() { ... },
driver2: function() { ... } }
Run Code Online (Sandbox Code Playgroud)
ActionScript将驱动我的JavaScript.更基本的问题是,如何使用webpack设置全局变量以便ExternalInterface可以看到它们(最好是作为模块的导出)?
我试过用expose-loader,exports-loader imports-loader没有运气.expose-loader理想情况下,我需要什么,但似乎不起作用.当我在我的模块中设置window.companyName并尝试在我的chrome控制台中验证它时,它会导致undefined.
javascript global-variables actionscript-3 externalinterface webpack
actionscript-3 ×10
actionscript ×2
apache-flex ×2
flash ×2
javascript ×2
adt ×1
air ×1
c# ×1
command-line ×1
emacs ×1
flashdevelop ×1
http ×1
indentation ×1
java ×1
jenkins ×1
mmo ×1
mxml ×1
mxmlc ×1
python-mode ×1
webpack ×1