我的代码运行正常.当用户按下1时,假设引入一个图像,当他/她按下2时将其交换为另一个图像.但是,当我在先前按下相同的数字后按1或2时,我得到#2025错误.例如:按1然后再按1.
ArgumentError:错误#2025:提供的DisplayObject必须是调用者的子级.at flash.display :: DisplayObjectContainer/removeChild()at warren_fla :: MainTimeline/reportKeyDown2()
码
import flash.events.KeyboardEvent;
var bdata = new image1(stage.stageWidth, stage.stageHeight);
var bdata2 = new image2(stage.stageWidth, stage.stageHeight);
var bmp = new Bitmap(bdata);
var bmp2 = new Bitmap(bdata2);
function reportKeyDown(event:KeyboardEvent):void
{
if (event.keyCode == 49) {
//trace("1 is pressed");
bmp.x = 230;
bmp.y = 150;
addChild(bmp);
}
if (contains(bmp2)) {
removeChild(bmp2);
}
}
function reportKeyDown2(event:KeyboardEvent):void
{
if (event.keyCode == 50) {
//trace("2 is pressed");
bmp2.x = 230;
bmp2.y = 150;
addChild(bmp2);
removeChild(bmp);
}
}
stage.addEventListener(KeyboardEvent.KEY_DOWN, …Run Code Online (Sandbox Code Playgroud) 这是我的flash游戏没有vcam或任何其他屏幕移动方法:http: //www.swfcabin.com/open/1389129611我使用hitTestPoint方法来处理我的碰撞.但是,当我尝试添加一个vcam时,结果是:http://www.swfcabin.com/open/1389130109这有 什么奇怪的吗?我用于vcam的代码是:
stage.addEventListener(Event.ENTER_FRAME,update_vcam);
function update_vcam(e:Event){
vcam.x=char.x;
vcam.y=char.y;
}
Run Code Online (Sandbox Code Playgroud)
vcam的尺寸与舞台完全相同(并且与舞台完全对齐).我使用了"Jazza"的虚拟相机.我也尝试了许多其他的vcams,但每个人都被证明是混乱的.我曾经在as2天里一直使用vcams,他们总是工作.这不是我尝试过的唯一方法.我也试过移动地面而不是角色.结果如下:http: //www.swfcabin.com/open/1389130683 我完全不知道发生了什么.有任何想法吗?
Drake Swartzy
什么是检查2个矩形之间的碰撞的快速方法,然后您有矩形坐标,如:
红色矩形:A1(x1,y1),B1(x2,y2).
蓝色矩形:A2(x3,y3),B2(x4,y4).

我想学习HAXE的,经过广泛的AS3的经验和一些JavaScript /的NodeJS但几个人都表示,haXe的编译成SWF和封装它要在"在这里插入平台"运行使得它与一些本地特色,并与显著两个不兼容高架.
我有兴趣了解ipad/iphone.这会以某种方式编译成与这种苹果设备兼容的格式吗?我的意思是它转换为x代码然后编译它或什么?
我有各种客户需要相同应用程序的跨平台版本,而Haxe看起来像一个简单,优雅的解决方案,但由于我的客户来自美国,Apple产品是我关注的问题.
我的项目范围围绕着带有服务器服务的简单应用程序,也可能是一些网络摄像头/麦克风动作,如果这有助于回答.干杯.
我想创建生成"随机"(伪随机)颜色的能力,并提出了用于创建所有颜色和任何颜色的代码.
我对编程非常陌生,想看看SO上是否有任何评论或批评,代码效果很好.唯一的问题是颜色偶尔太相似,难以区分它们.
我知道这可能是一种非常强力的编码方式,但它是我想到的.
public class colorGenerator
{
public var color:int;
private var randomnumber:Number;
private var first:String = "";
public function colorGenerator():void
{
var colorstring:String = "0x";
var transfer:String = "0x";
for ( var i:uint = 0; i < 6; i++)
{
randomhex();
colorstring += first;
}
transfer = colorstring;
color = int(transfer);
}
public function randomhex():void
{
randomnumber = Math.random();
if ( -1 < randomnumber < ((.99 / 16) * 1))
first = "0";
else if ( ((.99/16)*1) < …Run Code Online (Sandbox Code Playgroud) 这真的很烦人,我已经尝试了一切,但无法解决这个问题.
private function gameLoop(e:Event):void
{
movement();
trace(randomItem);
if (randomItem == "pomme")
{
updateScore();
}
if (timerText.text == "0")
{
stage.removeChild(player);
stage.removeEventListener(Event.ENTER_FRAME, gameLoop);
stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyDown);
stage.removeEventListener(KeyboardEvent.KEY_UP, keyUp);
this.gotoAndStop(3)
endFrame();
}
}
Run Code Online (Sandbox Code Playgroud)
此代码跟踪randomItem.我测试了它,跟踪输出表示randomItem是"pomme".
这意味着分数应该有更新(跟踪命令:"分数已更新");
但它没有,这种方法适用于我正在进行的其他游戏,但这里有什么重要的想法?
private var colourArray:Array = new Array("pomme ","banane ","laitue ","concombre ","miel");
Run Code Online (Sandbox Code Playgroud)
顶部代码是一个数组,randomItem将它与数组进行比较.
private var colourArray:Array = new Array("pomme ","banane ","laitue ","concombre ","miel");
private var len:int = colourArray.length - 1;
private var rand:int;
private var randomItem:String;
rand = Math.floor(Math.random() * len);
randomItem = colourArray[rand];
trace(randomItem);
baloonText.text = "Teddy wants …Run Code Online (Sandbox Code Playgroud) 我目前正在学习AS3.0.我正在尝试设计一个简单的两体行星模拟.我需要在屏幕上显示行星的路径.所以我的问题是,一旦我在每个定时器间隔有行星的更新x和y坐标,我该如何改变舞台的像素(x,y)的颜色,以便显示行星的路径?是否有一些形式stage.x = color的命令?
谢谢!
我在网上看了一遍,似乎找不到将版本号放在swf文件中的方法.我们需要知道我们在不同机器上使用哪个版本的swf文件,所以我们想过如果swf目录中不存在包含swf版本号的文件,可能会写一个文件.我们没有使用Flex和as3,所以由于我们无法写入磁盘而无法工作.所以我一直在环顾四周,无法找到我们指定swf文件版本的地方,如"14.06.30".
有没有办法我们可以设置我们的swf文件的版本?
我们已经考虑使用按键来显示版本号,但是我们不想这样做,因为swf可以加载其他swf,其中按键可能意味着其他东西.这将是最后的手段.
这是关于许可证.
我创建了一个使用AdobeAir运行时的原型应用程序.
但是,在进一步发展之前.我想知道如果我将我的应用程序卖给客户端,它是否打破了AdobeAir许可证?
我发现这个链接http://www.adobe.com/devnet/air/articles/android-licensing-native-extensions.html 但我觉得它没用.
我能得到的最接近的答案是http://www.adobe.com/products/air/faq.html.不幸的是,没有'卖'部分.
我目前正在学习使用单独的.as文件和类,但在阅读了很多内容后,所有内容似乎与我所阅读的内容有所不同.我发布这个问题是为了学习,而不仅仅是为了使代码工作.这里的例子是我真实项目的测试,简化再现.
我的文件"MyApp.fla"有1个框架,形状为背景,DocumentClass设置为"MyApp".该库拥有一个带有另一个背景形状的1帧符号"Page1",其类设置为"Page1"
MyApp.as:
package {
trace("1: DocumentClass file, before class");
import flash.display.MovieClip;
public class MyApp extends MovieClip {
trace("2: DocumentClass file, in the class")
public var setting1:int = 2; //this is a variable which i want to be accesible to other classes, so to the pages being loaded
private var currentPage:MovieClip; //I wanted to create this var in the constructor, but I'm afraid something will explode again :<
public function MyApp() {
trace("3: DocumentClass file, in constructor function");
currentPage = …Run Code Online (Sandbox Code Playgroud) actionscript-3 ×10
flash ×5
flash-cs6 ×2
adobe ×1
air ×1
android ×1
apache-flex ×1
class ×1
flash-cs5 ×1
flashdevelop ×1
haxe ×1
ios ×1
ipad ×1
iphone ×1
licensing ×1
random ×1
scope ×1
versioning ×1