چه طور می شود یک تور مجازی ساخت ؟

nedanina

New Member
منظورم اینه که یه تصویر با عرض زیاد داشته باشیم که همه ابعاد مثلا یک اتاق را نشان دهد بخواهیم با موس روی آن حرکت کنیم و جلو عقب ببریم در عین حال تصویر بتواند حرکت کند و همه ابعاد ساختمان را به ما نشان دهد.
 

YTERROR

Active Member
اگه درست متوجه دشه باشم با یک ماسک ساده می شه این کارو کرد
 

nedanina

New Member
با ماسک اینکارو کردم ولی می خواهم که با موس بشه کنترلش کرد.
 

pendesign

Member
دوست من شما برای اینکه بتونی از این قابلیت نرم افزار فلش استفاده کنی می بایستی چند نکته اکشن اسکریپت و دگمه های کنترل رو بدونی :) منظورت رو هم فهمیدم ... این نوع تورها رو میتونی تو DVD های اصل فیلم های مشهور پیدا کنی ، مثل فیلم " Harry Potter and the globlet of fire " که در DVD اصل کمپانی " Warner Bross "
اومدن بوسیله فلش یک تور کاملا سه بعدی گردش در منطقه هاگوارتز و ... .
من خودم بشخصه برا این کار اول فیلم سه بعدی مورد نظر خودم رو با 3D Max درست می کنم ، بعد با وارد فلش میکنم و با استفاده از چند تا اکشن و دگمه کنترل همون فضایی سه بعدی که می خوام رو درست میکنم .
 
آخرین ویرایش:

CMAX

Member
:lol:

فقط همین یکی


قرار بود دیگه ننویسم و البته خوب قرار هم هست اما خوب این یکی رو چون قبلا یه کار کامل براش انجام داده بودم
حیفم اومد جواب ندم :wink: ( بهونه است دیگه )


اما جواب شما

script رو داخل یک فایل جدید کپی کن تو فریم اول و یک عکس که طول و عرضش بیشتر از 450و250 باشد بزار کنار
swf و یا اینکه ادرس رو به صورت relative در آخرین خط کد و برای تابع VirtualTour وارد کن

PHP:
VirtualTour (__mc:MovieClip, file:String)

__mc برای موی کلیپی که می خوای عکس داخلش لود شود و یا می توانی با پاس دادن this جایی که script از
آن اجرا می شود را به برنامه بدهی

file اسم و یا آدرس عکس


اسم عکس رو که باید کنار SWF باشد رو من image.jpg گذاشتم در خط آخر
شما دوستان هم اسم عکس رو به این rename کنید و یا کد را تغییر دهید







PHP:
////////////////////////////////////////////////////
//
//      //CMAX --------- 18/2/2007 ---------- 02:48
//
////////////////////////////////////////////////////
import flash.geom.Rectangle;
import flash.geom.Point;
var __img:MovieClip;
var __trg:MovieClip;
var __mcl:MovieClipLoader;
function VirtualTour (__mc:MovieClip, file:String)
{
	__img = __mc.createEmptyMovieClip ("__img", 1);
	__img._x = 20;
	__img._y = 20;
	__img.cacheAsBitmap = true;
	__trg = __mc;
	rect = new Rectangle (0, 0, 450, 250);
	__mc.createEmptyMovieClip ('str', __mc.getNextHighestDepth ());
	__mc.str.lineStyle (1, 0x000000);
	__mc.str.moveTo (20, 20);
	__mc.str.lineTo (470, 20);
	__mc.str.lineTo (470, 270);
	__mc.str.lineTo (20, 270);
	__mc.str.lineTo (20, 20);
	mouse = new Point (0, 0);
	x_pos = 0;
	y_pos = 0;
	__mcl = new MovieClipLoader ();
	__mcl.addListener (this);
	__mcl.loadClip (file, __img);
}
function onLoadInit (tg:MovieClip):Void
{
	r_img = new Rectangle (0, 0, __img._width, __img._height);
	r_mask = new Rectangle (__img._x, __img._y, rect.width, rect.height);
	start ();
}
function start ():Void
{
	__img.scrollRect = rect;
	__img.onEnterFrame = function ()
	{
		mouse.x = __trg._xmouse;
		mouse.y = __trg._ymouse;
		if (r_mask.containsPoint (mouse))
		{
			y_pos = ((Math.abs (__img._y - mouse.y) / rect.height) * (r_img.height - rect.height));
			x_pos = ((Math.abs (__img._x - mouse.x) / rect.width) * (r_img.width - rect.width));
		}
		rect.x += (x_pos - rect.x) / 8;
		rect.y += (y_pos - rect.y) / 8;
		__img.scrollRect = rect;
	};
}
VirtualTour (this, 'image.jpg');
//////
////////////////////////////////Have Good Time /////////////////////////////
//CMAX ---------- 18/2/2007 ------------------- 02:48


امیدوارم کمک کرده باشم

مثل همیشه ، موفق و سربلند باشید--------------------CMAX
 

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

بالا