استفاده ار دستور Random

hossein.mahdavi

New Member
با سلام خدمت دوستان و استاید گرامی :
دوستان من به یه مشکلی برخوردم و نمی دونم که چطور باید اونو بنویسم ، مشکل من اینه که ما 13 تا عکس داریم که می خواهیم در هر بار اجرای فایل فلش یکی از تصویرها بصورت رندوم نشون داده بشه اما نمی دونم که چه جور باید برنامه نویسیش کنم اگه دوستان مثالی عملی بزنند خیلی ممنونتون می شم
:rose:
 

thrall

New Member
سلام دوست عزیز
یه موی کلیپ درست کن و توی هر فریم اون موی کلیپ یه عکس بذار
بعد این کد رو توی رویداد load موی کلیپت تعریف کن
جای عدد 10 هم تعداد فریم هایی که موی کلیپت داره رو بذار
PHP:
my_mc.gotoAndStop(Math.random(10));
 

hossein.mahdavi

New Member
با سلام خدمت دوستان و تشکر بابت راهنمایی :
مشکل رندوم من با دستور رندوم دوستمون حل شد اما یک مشکل کوچولو در این میان است ، سوال من اینه که چگونه می توان عدد رندم غیر تکراری در این بازه 13 عدد بدست آورد . چون احتمال تکرار شدن دو عکس زیاد می شود و این جور خیلی جالب در نمی آید پیشاپیش از راهنمایی دوستان تشکر می کنم .
 

khoushechin

Well-Known Member
الان دیگه خیلی پیچیده شد!
اگه برنامه نویسیش رو بخوای که خیلی سخته اما من یه راه حل دارم برات.
میتونی چند تا مووی کلیپ درست کنی که فریم ابتداییش خالی باشه و همچنین کلید stop داشته باشه در فریم اول.
توی این مووی کلیپ های یه ترتیب تصادفی براشون استفاده میکنی مثلا مووی کلیپ یک عکس های به ترتیب باشن مووی کلیپ دومی عکس های برعکس مویی کلیپ اولی باشن مثلا از ابتدا به انتها 123456789 یا 231456987 یا 456829371 اینجوری رندوم خودت درست کنی ! اوکی
بعد شما توی سوالتون نوشته بودید که با هر بار باز کردن فلش درسته؟
اگه اینجوری باشه شما باید ابتدا از همون دستور رندوم یکی از این مووی کلیپ ها رو انتخاب کنید بعد برید به فریم دوم ( چون فریم اول رو قبلا خالی گذاشته بودیم) بعد توی فریم دوم مقداری رو به shared object بدید برای یاد آوری در مرحله بعد.
بعد از اجرای دوباره فلش شما باید همونجایی که میاد و یکی از مووی کلیپ ها رو انتخاب میکنید با یک دستور if غیر فعال کنید مثلا بگید اگر مقدار shared object از 1 کمتر بود که یکی از مووی کلیپ ها رو انتخاب کنه به صورت تصادفی و گرنا else بیاد یه مقدار جلوتر از shared object بره به فریم مووی کلیپ از پیش انتخاب شده و همینجور تا آخر
فکر کنم اگه برنامه نویسش کنی ساده تر باشه نه بچه ها!
 

پیوست ها

  • Untitled-1.zip
    12.3 کیلوبایت · بازدیدها: 23

JavidFlasher

کاربر فعال
با سلام خدمت دوستان و تشکر بابت راهنمایی :
مشکل رندوم من با دستور رندوم دوستمون حل شد اما یک مشکل کوچولو در این میان است ، سوال من اینه که چگونه می توان عدد رندم غیر تکراری در این بازه 13 عدد بدست آورد . چون احتمال تکرار شدن دو عکس زیاد می شود و این جور خیلی جالب در نمی آید پیشاپیش از راهنمایی دوستان تشکر می کنم .

سلام من قبلا یه کلاس تو انجمن گذاشته بودم
سرچ کن پیدا میکنی...قدیمی بود حدود 2سال پیش

این هم هست ببین روش جالبه :
PHP:
package {
	/**
	 * @author Javid
	 */
	public class Random {
		private var numSet : Object;
		private var Index : Array;
		private var counter : Number;
		private var iCorrect : Boolean;
	
	
		public function Random(a:Number=1,b:Number=2) {

		if(a<b){
		iCorrect=true
		counter=-1
		numSet={}
		Index=[]
		for(var i:int=a;i<=b;i++){
		numSet[Math.random()]=i
		}
		
		for(var s:String in numSet){
		Index.push(s)
		}
		Index.sort(Array.NUMERIC)
	
		
		}else{
		iCorrect=false
		}
		}

		public function getNum() : Number {
			if(iCorrect){
			counter++
			return numSet[Index[counter]]
			}else{
			return NaN
			}
		}
	
	}
}
 

JavidFlasher

کاربر فعال
این هم کلاس قدیمی :
[JSS]package
{
import flash.net.*;
import flash.events.*;
import flash.display.*;
import flash.net.*;
import flash.utils.*;

public class rnd_without_repeat extends Sprite
{
public var defultNum:Number = 1;
public var ar:Array = [];

public function RandomNumber(startNum:Number,endNum:Number)
{

for (var startNum=1; startNum<endNum; startNum++)
{
ar.push(startNum);
}
}

public function Start():Number
{
var rnd:Number = Math.floor(Math.random() * ar.length);
ar.splice(rnd,defultNum-1);
var random_char:Number = ar.splice(rnd,1);
return random_char;
}




}//class
}//package[/JSS]
 

جدیدترین ارسال ها

بالا