我得到錯誤1026這是「構造函數必須是實例方法」,我不知道爲什麼。我正在創建一個媒體播放器類型的程序,並且在我的音樂部分遇到問題。在此之前,我創建了一個功能音樂播放器,並將代碼複製到我的新項目中。現在唯一不同的是代碼處於狀態而不是main.mxml文件。這是我的代碼下面,我收到錯誤,它說:「公共音樂:聲音;」我不明白爲什麼我得到這個錯誤,任何幫助將不勝感激!在AS3中接收錯誤1026,不知道爲什麼
<fx:Declarations>
<fx:XML id="musicXML" source="data/musak.xml" />
<s:XMLListCollection id="musicCollection" source="{musicXML.song}" />
</fx:Declarations>
<s:HGroup>
<s:DataGrid id="musicGrid" dataProvider="{musicCollection}" click="onClick()" />
<local:MusicPosition id="mProgress" width="319" height="83"/>
<s:VGroup height="55">
<s:Label text="Now playing: {[email protected]}" />
<s:Label id="txtPosition" width="91"/>
</s:VGroup>
</s:HGroup>
<s:Button x="146" y="93" label="play" click="playMusic()"/>
<s:Button x="270" y="93" label="pause" click="pauseMusic()"/>
<fx:Script>
<![CDATA[
//set your variables
public var music:Sound;
[Bindable]public var musicChannel:SoundChannel;
public var pausedTime:Number = 0;
public function onClick():void {
if(musicChannel) {
musicChannel.stop();
//clean up the variables
music = null;
musicChannel = null;
}
music = new Sound();
music.load(new URLRequest(musicGrid.selectedItem.file.toString()));
music.addEventListener(Event.COMPLETE, onMusicLoad);
}
public function onMusicLoad(e:Event):void {
mProgress.update(0);
//new channel
musicChannel = music.play();
}
protected function onE(e:Event):void {
if(musicChannel) {
txtPosition.text = millisecondsToSeconds(musicChannel.position).toString() + "/" +
millisecondsToSeconds(music.length).toString();
mProgress.update(musicChannel.position/music.length);
mProgress.alpha = 1;
} else
mProgress.alpha = 0;
}
protected function millisecondsToSeconds(milliseconds:Number):Number {
return Math.round(milliseconds/1000);
}
public function pauseMusic():void {
if(musicChannel) {
pausedTime = musicChannel.position;
musicChannel.stop();
}
}
public function playMusic():void {
if(musicChannel) {
musicChannel = music.play(pausedTime);
}
}
]]>
</fx:Script>
此代碼所在組件的名稱是什麼?什麼是完整的組件?它是編譯時錯誤還是運行時錯誤?例如,如果這是一個名爲music的類,則可能會嘗試創建一個名爲'music'的變量。 – JeffryHouser 2013-04-23 03:12:56
我......覺得很愚蠢。這個班也被命名爲音樂。更改了變量名稱,它工作。謝謝你爲我指出這一點! – user2220653 2013-04-23 03:37:55
爲了避免將來出現這些問題(儘管顯然不是完全的,要小心你的名字),所有的**類都應該大寫,而所有的**函數和對象名應該是camelcase,但是以一個小寫字母。只有例外與常量有關(通常是全部大寫,並用下劃線分隔) – 2013-04-23 04:13:54