小编Luc*_*hez的帖子

AS3 - 我可以知道一个类是否实现了一个接口(或者是另一个类的子类)?

有了这段代码

function someFunction(classParam:Class):Boolean
{
    // how to know if classParam implements some interface?
}
Run Code Online (Sandbox Code Playgroud)

classParamIEventDispatcher界面比较:

someFunction(EventDispatcher) // returns true
someFunction(Object) // returns false
Run Code Online (Sandbox Code Playgroud)

我知道is操作员不能这样做.但是,有没有办法做到这一点?有没有办法知道一个类是否实现了一些接口?(或者是另一个类的子类?)

可能的解决方案:

A. classParam使用is运算符创建对象并使用该对象进行比较.

function someFunction(classParam:Class):Boolean
{
    return (new classParam()) is IEventDispatcher
}
Run Code Online (Sandbox Code Playgroud)

B.使用 describeType()

function someFunction(classParam:Class):Boolean
{
    var xml:XML = describeType(classParam)
    // found "implementsInterface" value in xml and compare to IEventDispatcher
}
Run Code Online (Sandbox Code Playgroud)

有一种方法不使用describeType或创建new运营商?

oop class actionscript-3

9
推荐指数
1
解决办法
3061
查看次数

如何在Python中获取密钥代码

我必须知道按下了什么键,但不需要字符的代码,我想知道当有人按下'A'键时,即使获得的键是'a'或'A',所以其他键都是如此.

我不能使用PyGame或任何其他库(包括Tkinter).只有Python标准库.这必须在终端中完成,而不是图形界面.

不需要字符代码.我需要知道关键代码.

例如:

ord('a') != ord('A')                      # 97 != 65
someFunction('a') == someFunction('A')    # a_code == A_code
Run Code Online (Sandbox Code Playgroud)

python input keycode

8
推荐指数
3
解决办法
3万
查看次数

如何建立一个可解决的相同级别的游戏(又名.连锁射击,又名.Clickomania)

我正在构建一个像Same Game这样的游戏,当我必须创建一个新的关卡时,我只运行一个算法来填充N个颜色的棋盘,这个算法随机填充棋盘,但显然这样生成的关卡是并非所有人都有解决方案.

我必须做一个功能来解决这个问题,所以游戏可以由一个完美的玩家永远玩.

我最多有6种颜色,最少2种,并且电路板尺寸合理(14x12)但可以修改.

语言无关紧要.

编辑:我不需要解决这个难题,我需要创建至少有一个解决方案的关卡.

language-agnostic

7
推荐指数
1
解决办法
1041
查看次数

Python - 存在一个在对象未实现函数时调用的函数?

在Smalltalk中,有一条消息DoesNotUnderstand在对象不理解消息时被调用(这是当对象没有发送消息时).

所以,我想知道在python中是否有一个函数可以做同样的事情.

在这个例子中:

class MyObject:
    def __init__(self):
        print "MyObject created"

anObject = MyObject() # prints: MyObject created
anObject.DoSomething() # raise an Exception
Run Code Online (Sandbox Code Playgroud)

那么,我可以添加一个方法,MyObject以便知道何时DoSomething被调用?

PS:抱歉我的英语不好.

python oop function

7
推荐指数
1
解决办法
215
查看次数

数据库存储在哪里 - Cordova-sqlite-storage

请不要标记此重复项。在发布这个之前,我搜索了很多并且浏览了很多帖子。我在科尔多瓦工作。我有一个 android 5.1.1 设备,我正在测试该应用程序。我使用以下代码打开了一个数据库 -

var db = window.sqlitePlugin.openDatabase({name: 'my.db', location: 'default'});
Run Code Online (Sandbox Code Playgroud)

这运行良好,我也可以执行 CURD,但是,我无法在设备上或笔记本电脑上的应用程序文件夹中找到数据库。我没有root设备。也无法在我的应用程序文件夹中找到 /data/data//databases/。

在哪里可以找到数据库文件?

cordova android-sqlite

7
推荐指数
1
解决办法
1326
查看次数

Vim搜索模式,如果没有,则删除行

我已经阅读了这个问题,但我想知道如何在没有出现模式时删除该行.

vim filter

6
推荐指数
2
解决办法
1041
查看次数

如何在Flex应用程序中运行外部SWF?

编辑:由于答案我更改了发布的代码.我已经添加了该 Security.allowDomain("*") 行,该行会引发错误.那么,怎么做呢?

我想将Action Script 3.0应用程序运行到Flex应用程序中.为此,我做了以下事情:

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication windowComplete="loadSwfApplication()" xmlns:mx="http://www.adobe.com/2006/mxml">

    <mx:Script>
        <![CDATA[
            private function loadSwfApplication()
            {
                // The next line throws me an error.
                Security.allowDomain("*");

                var urlRequest:URLRequest = new URLRequest("path/to/the/application.swf");
                swfLoader.addEventListener(Event.COMPLETE, loadComplete);
                swfLoader.load(urlRequest);
            }

            private function loadComplete(completeEvent:Event)
            {
                var swfApplication:* = completeEvent.target.content;
                swfApplication.init();  // this is a Function that I made it in the Root class of swfApplication
            }
        ]]>
    </mx:Script>

    <mx:SWFLoader id="sfwLoader"/>

</mx:WindowedApplication>
Run Code Online (Sandbox Code Playgroud)

问题是在调用swfApplication.init();AIR Player时会抛出异常:

安全沙箱冲突:调用者文件:///path/to/the/application.swf无法访问app所拥有的阶段:/SWFApplicationLoader.swf.

这是因为application.swf我在某处使用这样的舞台:

if (root.stage != null)
    root.stage.addEventListener(Event.REMOVED, someFunction); …
Run Code Online (Sandbox Code Playgroud)

air flash actionscript-3 flex4

5
推荐指数
1
解决办法
1万
查看次数

AS3 - 更改布尔(对象)行为

当你将任何对象转换为布尔值时,true如果对象不是null,false则得到,否则,我喜欢为某些对象更改此行为.我希望有些物体false即使不存在也会返回null

我知道在ActionScript 3.0中我们可以使用改变对象的一些默认行为Proxy.我们可以做同样的Boolean(object)object as Boolean?以及如何做到这一点?

我想在下一个想法之后问这个:

我有这个代码:

if (someObject)
    someObject.DoSomething();
Run Code Online (Sandbox Code Playgroud)

这意味着DoSomething只有在someObject没有被调用的情况下null,这只是因为背后的"真实"代码是这样的:

if (Boolean(someObject) == true)
    someObject.DoSomething();
Run Code Online (Sandbox Code Playgroud)

并且有效,因为任何对象都自动转换为布尔值,结果是true,但如果引用指向null结果是false.

我想知道我是否可以改变这种行为而不添加像这样的新功能isTrue(someObject).

在此先感谢,对不起我的英语不好.

casting boolean object actionscript-3

5
推荐指数
1
解决办法
1524
查看次数

AS3 - 如何知道视频是否已经结束?

我正在使用flash.net.NetStream和flash.media.Video来播放.flv,这里有一些代码:

var stream:NetStream = new NetStream(connection);

//next line is to avoid an error message
stream.client = {onMetaData: function(obj:Object):void {}}

var video:Video = new Video();
video.attachNetStream(stream);
stream.play("url.to/video");

addChild(video);
Run Code Online (Sandbox Code Playgroud)

这播放视频,但是我怎么知道视频从开始到结束的时间?如何知道视频是否播放了它的长度?

PS:抱歉我的英语不好.

video actionscript-3

5
推荐指数
1
解决办法
1万
查看次数

如何在ActionScript 3.0中获取数字的符号?

我有一个Number类型的变量,我想获得符号(如果是' - '我喜欢-1,如果'+'我想要1).所以,我做了这个:

var sign = Math.abs(n) / n;
Run Code Online (Sandbox Code Playgroud)

但是,还有其他方法吗?比这更好?

flash actionscript-3

4
推荐指数
2
解决办法
5425
查看次数