Adobe Flash-选择舞台的特定部分,并在物体到达时播放声音
问题就在这里。我对flash有点陌生,但我有一些知识,所以我正在尝试创建一个小足球游戏。我有球,控制装置,舞台(足球场)。问题是,我想指定舞台的一部分,因此,如果我的球进入舞台,就会播放一个声音文件,每当球进入拱门时,都会尖叫“Goal!!!”舞台是800 x 600 关于我将如何实施这一点,有什么想法吗?非常感谢您的帮助。谢谢大家! 这是我的代码:Adobe Flash-选择舞台的特定部分,并在物体到达时播放声音,flash,select,actionscript,if-statement,adobe,Flash,Select,Actionscript,If Statement,Adobe,问题就在这里。我对flash有点陌生,但我有一些知识,所以我正在尝试创建一个小足球游戏。我有球,控制装置,舞台(足球场)。问题是,我想指定舞台的一部分,因此,如果我的球进入舞台,就会播放一个声音文件,每当球进入拱门时,都会尖叫“Goal!!!”舞台是800 x 600 关于我将如何实施这一点,有什么想法吗?非常感谢您的帮助。谢谢大家! 这是我的代码: 有两种方法可以做到这一点(我猜球门区域大致为矩形): 1.)将球和球门创建为电影剪辑/显示对象,然后简单地执行hitTestObject()方法调
有两种方法可以做到这一点(我猜球门区域大致为矩形): 1.)将球和球门创建为电影剪辑/显示对象,然后简单地执行hitTestObject()方法调用以检查它们是否相互“接触”。球门的实际“触发”区域可以比视觉区域小,这样球只有在视觉上一直在球门内时才能接触到它 2.)这是圆形与矩形碰撞检测。你可以通过纯数学计算来解决这个问题。您应该能够通过搜索找到实际的算法,并且不太难编写,特别是如果目标矩形与轴对齐(与舞台成0或90度角)
第二种方法工作更快,可能更准确,尽管第一种方法可能是一种快速而肮脏的方法,只是让它首先工作。这两种方法都可以返回一个布尔值,如果为true,则播放声音。要播放声音,请查看声音{}类。嗨,谢谢!!!!hitTestObject()工作起来很有魅力……整天都在烦我。再次感谢你。
import flash.display.*;
import flash.events.*;
var begin = new Begin();
var pelota = new Pelota();
var field = new SoccerField();
//Calling methods game
beginGame();
//creating the welcome screen
function beginGame(){
begin.x = 0;
begin.y = 0;
addChild(begin);
pelota.x = 400;
pelota.y = 425;
addChild(pelota);
}
pelota.addEventListener(MouseEvent.CLICK, startGame);
function startGame(event:Event) : void{
field.x = 400;
field.y = 300;
addChild(field);
pelota.x = 400;
pelota.y = 300;
pelota.scaleX = .2;
pelota.scaleY = .2;
addChild(pelota);
}
stage.addEventListener(KeyboardEvent.KEY_DOWN, control);
function control (evt:KeyboardEvent) : void
{
trace(evt.keyCode);
if (evt.keyCode == Keyboard.LEFT)
{
pelota.x=pelota.x-5;
trace('Left!');
}
if (evt.keyCode == Keyboard.RIGHT)
{
pelota.x=pelota.x+5;
}
if (evt.keyCode == Keyboard.UP)
{
pelota.y=pelota.y-5;
}
if (evt.keyCode == Keyboard.DOWN)
{
pelota.y=pelota.y+5;
}
}
<pre><code>