Привет, пользователей переполнения стека. Я в настоящее время борется с рандомизацией моих данных через as3 и xml.Получение случайного места с использованием ActionScript без повторения
Я могу загрузить в тонке xml и создать случайное место, однако, когда я нажимаю на случайную кнопку, которую я создал, тот же узел отображается дважды! В основном я просто хочу случайным образом выбирать данные с no repeat предыдущего места, если это имеет смысл.
Мой XML:
<gallery>
<venue>
<name>1</name>
<description>1</description>
<picture>images/1.jpg</picture>
<thumb>thumbs/1.jpg</thumb>
<address>1</address>
<website>http://1.co.uk</website>
</venue>
<venue>
<name>2</name>
<description>2</description>
<picture>images/2.jpg</picture>
<thumb>thumbs/2.jpg</thumb>
<address>2</address>
<website>http://2.co.uk</website>
</venue>
<venue>
<name>3</name>
<description>3</description>
<picture>images/3.jpg</picture>
<thumb>thumbs/3.jpg</thumb>
<address>3</address>
<website>http://3.co.uk</website>
</venue>
</gallery>
Мой текущий код:
var xml:XML = <venues>
<venue name="" description="" address="" website="" picture=""/>
<venue name="" description="" address="" website="" picture=""/>
<venue name="" description="" address="" website="" picture=""/>
<venue name="" description="" address="" website="" picture=""/>
</venues>;
var Gallerylist:XMLList = new XMLList(xml.venue);
function RandomGallery(e:Event)
{
var rand:int = Gallerylist.length() * Math.random();
myTextBoxTitle.text = myXML.venue.name[rand]
myTextBoxDes.text = myXML.venue.description[rand]
myTextBoxAddress.text = myXML.venue.address[rand]
myTextBoxWeb.text = myXML.venue.website[rand]
myVenueImage.source = myXML.venue.picture[rand]
}
randomBTN.addEventListener(MouseEvent.MOUSE_DOWN, RandomGallery);
вам нужно сохранить имя последнего выбранного места для сравнения с вновь созданным местом встречи, если они совпадают, отбросить его и заново создать – Awalias
. Я не особо знаком с Action Script, но вам может понадобиться «срез», элементы из «Gallerylist» по мере их выбора. –
Привет, добро пожаловать в StackOverflow. Пожалуйста, не публикуйте ссылки на код. Вместо этого скопируйте и вставьте код на эту страницу. Каждый вопрос должен быть самодостаточным, не требуя от пользователей перехода на другой сайт (который может исчезнуть в какой-то момент времени). Я отредактировал ваш вопрос и сделал это для вас, потому что я хороший парень :-) –