2013-06-28 5 views
1

Как создать две кнопки: одна кнопка нажата, другая идет вверх. Я попытался с помощью этого:Как создать две кнопки: когда один нажат, другой идет вверх

//Create male/female button objects 
var maleButton:maleButtonObejct = new maleButtonObject(); 
var femaleButton:femaleButtonObject = new femaleButtonObject(); 

//Add evnet listeners to both buttons 
maleButton.addEventListener(MouseEvent.CLICK, setToMale); 
femaleButton.addEventListener(MouseEvent.CLICK, setToFemale); 

//Create isMale variable 
var isMale:Boolean; 

//Male/Female button functions 
function setToMale(event:MouseEvent):void { 
isMale = true; 
maleButton.stop(3); 
femaleButton.stop(1); 
} 

function setToFemale(event:MouseEvent):void { 
isMale = false; 
femaleButton.stop(3); 
maleButton.stop(1); 
} 

Я получаю сообщение об ошибке выполнения: TypeError: Error # 1006: остановка не является функцией. at Untitled_fla :: MainTimeline/setToFemale()

+4

ли '' maleButtonObject' и femaleButtonObject' (все имена классов должны быть капитализированы, кстати) продлить 'MovieClip'? Если я не ошибаюсь, MovieClip - единственный класс, который имеет метод 'stop()'. Ваша ошибка говорит о том, что либо у maleButton, либо у женщиныButton нет метода остановки, так что это ваша проблема. –

+2

плюс, я думаю, вы хотите использовать 'gotoAndStop', поскольку' stop' не принимает параметры – BadFeelingAboutThis

+0

Я удалил тег Flex, поскольку вы, кажется, не используете Flex в своих примерах здесь. Если вы используете Flex; вы можете использовать свойство ToggleButton и selectedState, чтобы нажать кнопку «on», а другая нажата. – JeffryHouser

ответ

0

Переименуйте свои классы, начиная с прописной буквы, например, MaleButton.

Вот простой способ сделать то, что вы хотите:

var maleButton:MaleButton = new MaleButton(); 
var femaleButton:FemaleButton = new FemaleButton(); 

maleButton.addEventListener(MouseEvent.CLICK, clicked); 
maleButton.addEventListener(MouseEvent.CLICK, clicked); 

function clicked(event:MouseEvent):void 
{ 
    switch(event.target) 
    { 
     case maleButton: 
      maleButton.gotoAndStop(3); 
      femaleButton.gotoAndStop(1); 
      break; 
     case femaleButton: 
      maleButton.gotoAndStop(1); 
      femaleButton.gotoAndStop(3); 
      break; 
     default: 
      return; 
    } 
}