每当玩家进入新关卡时,我如何添加声音效果?我正在努力为今晚应交的项目弄清楚这一点,并且我已经进行了数周的研究,并且我的项目针对项目的不同方面使用了不同的类。
等级类(class)代码:
package {
public class LevelData {
public var backgroundImage:String;
public var pointsToReachNextLevel:Number;
public var enemySpawnRate:Number;
public var levelNum:Number;
public function LevelData(levelNumber:Number) {
levelNum = levelNumber;
if ( levelNumber % 2 == 1 )
{
backgroundImage = "Cosmic";
pointsToReachNextLevel = 150;
enemySpawnRate = 0.05;
}
else if ( levelNumber == 2 )
{
backgroundImage = "Mystic";
pointsToReachNextLevel = 350;
enemySpawnRate = 0.1;
}
else if ( levelNumber == 3 )
{
backgroundImage = "Cosmic";
pointsToReachNextLevel = 600;
enemySpawnRate = 0.15;
}
else if ( levelNumber == 4 )
{
backgroundImage = "Mystic";
pointsToReachNextLevel = 5820; // roughly 3 minutes enemies stop appearing
enemySpawnRate = 0.6 - ( 2 / levelNumber );
}
}
}
}
引擎类的摘录:
public function setBackgroundImage(): void //background change
{
if (currentLevelData.backgroundImage == "Cosmic") {
backgroundContainer.addChild(new CosmicBackground());
} else if (currentLevelData.backgroundImage == "Mystic")
{
backgroundContainer.addChild(new MysticBackground());
}
}
最佳答案
在Flash中播放声音有多种方法。坦白地说,与代码配合使用的最可靠方法是为自己编写一个专用类,实现SoundChannel,该类可以管理所有声音的加载,播放和转换(音量,声像等)。从长远来看。
当然,看来您的截止日期要紧。如果您需要对此进行快速修复,就在这里。
var levelUp:sndLevelUp = new sndLevelUp();
levelUp.play();
如果您有更多时间,则可能需要设置SoundChannel,它使您可以更好地控制播放,音量和声像。否则,这是快速的方法。
关于actionscript-3 - 每次播放器达到新水平时,as3都会添加声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23163066/