9

我正在使用 AS3 为 Android 制作 Flash 游戏。我希望用户通过让设备振动片刻来知道他按下了一个按钮。有人可以向我解释我怎样才能做到这一点吗?我需要导入特定的类吗?代码应该是什么样的?

提前致谢!

4

2 回答 2

10

要使用振动扩展,AIR 应用程序会执行以下操作:

通过调用 isSupported 检查扩展是否支持。通过调用 vibrate() 使设备振动,指定振动的持续时间(以毫秒为单位)作为参数。

var vibe:Vibration;
if (Vibration.isSupported)
{
    vibe = new Vibration();
    vibe.vibrate(2000);
}

Android 应用程序 对于 Android 应用程序,在您的应用程序描述符文件中包含 Vibration 权限:

安卓权限:<uses-permission android:name="android.permission.VIBRATE"/>

参考: http: //www.adobe.com/devnet/air/native-extensions-for-air/extensions/vibration.html

于 2012-04-20T07:54:18.193 回答
0

感谢您的回答。他们让我对这个主题进行了更深入的研究。我发现的是这样的:

在您可以使用之前:

var vibe:Vibration;
if(Vibration.isSupported){
     vibe = new Vibration();
     vibe.vibrate(500);
}

您必须转到“编辑 ActionScript 设置”>“库路径”>“浏览到 SWC 文件”

在那里你必须把这两个文件放在:

VibrationActionScriptLibary.swc - 你可以使用这个 zip 文件

com.adobe.extensions.Vibration.swc - 在同一个 zip 文件和目录中。您必须将 .ane 更改为 .swc

接下来,您必须import com.adobe.nativeExtensions.Vibration;将该行与其他导入。

这就是您在 Flash 中所要做的一切。(除了编码实际的游戏......)

接下来,打开 myApp-app.xml。在 xml 中,向上滚动并检查指向 ns.adobe.com 的链接是否以 3.0(或更高版本)结尾。如果没有,请将其更改为 3.0。本机扩展需要 Adob​​e AIR 3.0 或更高版本。

进一步向下滚动到您看到的部分<initialWindow>。在结束标记之后添加:

<extensions>
    <extensionID>com.adobe.Vibration</extensionID>
</extensions>

如果您进一步向下滚动,您应该会看到类似<android>. 在 manifestAdditions 中,您必须为设备添加一个权限,以使其真正允许它可以使用振动功能。

如果那里还没有<![CDATA[manifest>一行,则必须添加它。如果您添加了它/或者它已经存在,您必须添加权限。这是完成android:name="android.permission.VIBRATE"的最后你想确保它看起来像这样:

<![CDATA[<manifest>
    <uses-permission android:name="android.permission.VIBRATE"/>
</manifest>]]>

在此之后,您可以保存并关闭 xml 文件。

完成所有这些后,您的 .fla 可能无法在 Flash 中发布,因为 Flash 不支持我们刚刚调整的内容。但是,我们仍然可以使用 CMD(适用于 Windows)发布 .fla。遗憾的是,这也是我对 Mac 用户的支持结束的地方。在 cmd 中,您浏览到您的项目文件夹。我的项目文件夹在我的桌面上,所以我输入了 cd desktop, cd games, cd tilt android game. 在我浏览到我的文件夹后,我输入了这个命令行......

AdobeAIRSDK\bin\adt -package -target apk -storetyp pkcs12 -keystore YOUR_LICENCE.p12 myApp.apk myapp-app.xml myapp.swf -extdir extensionDir

确保您的项目文件夹中有 Adob​​eAIRSDK 文件夹。如果上述所有内容(使用 cmd)有点模糊,请转到此处观看他的视频和他关于如何使用操作系统的命令行编译 ANE 应用程序的视频。(这就是我最初所做的。)

如果您的应用程序有图标,请确保它们位于项目文件夹中名为“icons”的文件夹中。如果您的图标位于此类文件夹中,只需将文件夹名称粘贴到命令行末尾即可。

该应用程序应在您的项目文件夹中发布。

如果您对此有任何疑问,请确保观看我链接的视频。

于 2012-04-20T18:31:43.127 回答