Som besökare på Hamsterpaj samtycker du till användandet av s.k. cookies för att förbättra din upplevelse hos oss. Jag förstår, ta bort denna ruta!
Annons

Hjälp med hemsida.

Skapad av csols, 2010-09-18 20:42 i Datorer & IT

1 226
3 inlägg
0 poäng
csols
Visningsbild
P 29 Hjälte 2 524 inlägg
0
Yeah. Nu råkar det vara så att den här tråden kommer bli typ 100000 rader lång, för koden är bajslång. Men ska iallafall beskriva problemet in a momento. Först vill jag dock att ni tar en titt på min fint illustrerade bild:
Forum image

Det vita området är huvudmappen. Där ligger html-dokumentet, och där låg i stort sett alla filer (förutom dom gröna mapparna och filerna).
Dom röda mapparna (och dess innehåll) är nygjorda. Det är här någon stans problemet ligger.
Dom "första" tre gröna rutor är mappar, och dom andra åtta är olika actionscripts.

Problemet är som så, att jag hade en swf-fil och en xml-fil i det vita området. Men då jag skulle ha samma swf-fil och använda fler olika gånger på samma hemsida tänkte jag att jag kunde göra nya mappar (dom röda) och lägga in samma swf-fil samt en xml-fil och sedan bara ändra lite länkar och få det att fungera. Men det gör det inte :<

Forum image

Koden iallafall:
VITA RUTAN:
Ett stycke html-kod:
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>cylin_outside</title>

<!--***************************************
********* Mitten - script och css *********
****************************************-->
<link rel="stylesheet" type="text/css" href="tabcontent.css" />
<script type="text/javascript" src="tabcontent.js">
/***********************************************
* Tab Content script v2.2- © Dynamic Drive DHTML code library (http://www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/
</script>

<script language="JavaScript" type="text/javascript">
<!--
//v1.7
// Flash Player Version Detection
// Detect Client Browser type
// Copyright 2005-2008 Adobe Systems Incorporated. All rights reserved.
var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
function ControlVersion()
{
var version;
var axo;
var e;
// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry
try {
// version will be set for 7.X or greater players
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
version = axo.GetVariable("$version");
} catch (e) {
}
if (!version)
{
try {
// version will be set for 6.X players only
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");

// installed player is some revision of 6.0
// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
// so we have to be careful.

// default to the first public version
version = "WIN 6,0,21,0";
// throws if AllowScripAccess does not exist (introduced in 6.0r47)
axo.AllowScriptAccess = "always";
// safe to call for 6.0r47 or greater
version = axo.GetVariable("$version");
} catch (e) {
}
}
if (!version)
{
try {
// version will be set for 4.X or 5.X player
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
version = axo.GetVariable("$version");
} catch (e) {
}
}
if (!version)
{
try {
// version will be set for 3.X player
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
version = "WIN 3,0,18,0";
} catch (e) {
}
}
if (!version)
{
try {
// version will be set for 2.X player
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
version = "WIN 2,0,0,11";
} catch (e) {
version = -1;
}
}

return version;
}
// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
// NS/Opera version >= 3 check for Flash plugin in plugin array
var flashVer = -1;

if (navigator.plugins != null && navigator.plugins.length > 0) {
if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
var descArray = flashDescription.split(" ");
var tempArrayMajor = descArray[2].split(".");
var versionMajor = tempArrayMajor[0];
var versionMinor = tempArrayMajor[1];
var versionRevision = descArray[3];
if (versionRevision == "") {
versionRevision = descArray[4];
}
if (versionRevision[0] == "d") {
versionRevision = versionRevision.substring(1);
} else if (versionRevision[0] == "r") {
versionRevision = versionRevision.substring(1);
if (versionRevision.indexOf("d") > 0) {
versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
}
}
var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
}
}
// MSN/WebTV 2.6 supports Flash 4
else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
// WebTV 2.5 supports Flash 3
else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
// older WebTV supports Flash 2
else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
else if ( isIE && isWin && !isOpera ) {
flashVer = ControlVersion();
}
return flashVer;
}
// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
versionStr = GetSwfVer();
if (versionStr == -1 ) {
return false;
} else if (versionStr != 0) {
if(isIE && isWin && !isOpera) {
// Given "WIN 2,0,0,11"
tempArray = versionStr.split(" "); // ["WIN", "2,0,0,11"]
tempString = tempArray[1]; // "2,0,0,11"
versionArray = tempString.split(","); // ['2', '0', '0', '11']
} else {
versionArray = versionStr.split(".");
}
var versionMajor = versionArray[0];
var versionMinor = versionArray[1];
var versionRevision = versionArray[2];
// is the major.revision >= requested major.revision AND the minor version >= requested minor
if (versionMajor > parseFloat(reqMajorVer)) {
return true;
} else if (versionMajor == parseFloat(reqMajorVer)) {
if (versionMinor > parseFloat(reqMinorVer))
return true;
else if (versionMinor == parseFloat(reqMinorVer)) {
if (versionRevision >= parseFloat(reqRevision))
return true;
}
}
return false;
}
}
function AC_AddExtension(src, ext)
{
if (src.indexOf('?') != -1)
return src.replace(/?/, ext+'?');
else
return src + ext;
}
function AC_Generateobj(objAttrs, params, embedAttrs)
{
var str = '';
if (isIE && isWin && !isOpera)
{
str += '<object ';
for (var i in objAttrs)
{
str += i + '="' + objAttrs[i] + '" ';
}
str += '>';
for (var i in params)
{
str += '<param name="' + i + '" value="' + params[i] + '" /> ';
}
str += '</object>';
}
else
{
str += '<embed ';
for (var i in embedAttrs)
{
str += i + '="' + embedAttrs[i] + '" ';
}
str += '> </embed>';
}
[removed](str);
}
function AC_FL_RunContent(){
var ret =
AC_GetArgs
( arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
, "application/x-shockwave-flash"
);
AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}
function AC_SW_RunContent(){
var ret =
AC_GetArgs
( arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
, null
);
AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}
function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
var ret = new Object();
ret.embedAttrs = new Object();
ret.params = new Object();
ret.objAttrs = new Object();
for (var i=0; i < args.length; i=i+2){
var currArg = args[i].toLowerCase();
switch (currArg){
case "classid":
break;
case "pluginspage":
ret.embedAttrs[args[i]] = args[i+1];
break;
case "src":
case "movie":
args[i+1] = AC_AddExtension(args[i+1], ext);
ret.embedAttrs["src"] = args[i+1];
ret.params[srcParamName] = args[i+1];
break;
case "onafterupdate":
case "onbeforeupdate":
case "onblur":
case "oncellchange":
case "onclick":
case "ondblclick":
case "ondrag":
case "ondragend":
case "ondragenter":
case "ondragleave":
case "ondragover":
case "ondrop":
case "onfinish":
case "onfocus":
case "onhelp":
case "onmousedown":
case "onmouseup":
case "onmouseover":
case "onmousemove":
case "onmouseout":
case "onkeypress":
case "onkeydown":
case "onkeyup":
case "onload":
case "onlosecapture":
case "onpropertychange":
case "onreadystatechange":
case "onrowsdelete":
case "onrowenter":
case "onrowexit":
case "onrowsinserted":
case "onstart":
case "onscroll":
case "onbeforeeditfocus":
case "onactivate":
case "onbeforedeactivate":
case "ondeactivate":
case "type":
case "codebase":
case "id":
ret.objAttrs[args[i]] = args[i+1];
break;
case "width":
case "height":
case "align":
case "vspace":
case "hspace":
case "class":
case "title":
case "accesskey":
case "name":
case "tabindex":
ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
break;
default:
ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
}
}
ret.objAttrs["classid"] = classid;
if (mimeType) ret.embedAttrs["type"] = mimeType;
return ret;
}
// -->
</script>

</head>

<body bgcolor="#000000">

<h3>Bilder</h3>

<div style="border: 1px solid gray; width:700px; height: 600px; background-color: #000000; padding: 5px">

<div id="tcontent1" class="tabcontent">

<!--url's used in the movie-->
<!--text used in the movie-->
<!-- saved from url=(0013)about:internet -->
<script language="JavaScript" type="text/javascript">
AC_FL_RunContent(
'codebase', ' http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0',
'width', '700',
'height', '600',
'src', 'cylin_outside',
'quality', 'high',
'pluginspage', ' http://www.adobe.com/go/getflashplayer',
'align', 'middle',
'play', 'true',
'loop', 'true',
'scale', 'showall',
'wmode', 'window',
'devicefont', 'false',
'id', 'cylin_outside',
'bgcolor', '#000000',
'name', 'cylin_outside',
'menu', 'true',
'allowFullScreen', 'false',
'allowScriptAccess','sameDomain',
'movie', 'cylin_outside',
'salign', ''
); //end AC code
</script>
<noscript>
<object
classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase=" http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0"
width="700"
height="600"
id="cylin_outside"
align="middle">

<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="false" />
<param name="movie" value="cylin_outside.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#000000" />
<embed src="cylin_outside.swf"
quality="high"
bgcolor="#000000"
width="700"
height="600"
name="cylin_outside"
align="middle"
allowScriptAccess="sameDomain"
allowFullScreen="false"
type="application/x-shockwave-flash"
pluginspage=" http://www.adobe.com/go/getflashplayer"
/>
</object>
</noscript>

</div>

<div id="tcontent2" class="tabcontent">

<!--url's used in the movie-->
<!--text used in the movie-->
<!-- saved from url=(0013)about:internet -->
<script language="JavaScript" type="text/javascript">
AC_FL_RunContent(
'codebase', ' http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0',
'width', '700',
'height', '600',
'src', 'cylin_outside',
'quality', 'high',
'pluginspage', ' http://www.adobe.com/go/getflashplayer',
'align', 'middle',
'play', 'true',
'loop', 'true',
'scale', 'showall',
'wmode', 'window',
'devicefont', 'false',
'id', 'cylin_outside',
'bgcolor', '#000000',
'name', 'cylin_outside',
'menu', 'true',
'allowFullScreen', 'false',
'allowScriptAccess','sameDomain',
'movie', 'cylin_outside',
'salign', ''
); //end AC code
</script>
<noscript>
<object
classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase=" http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0"
width="700"
height="600"
id="cylin_outside"
align="middle">

<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="false" />
<param name="movie" value="cylin_outside.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#000000" />
<embed src="cylin_outside.swf"
quality="high"
bgcolor="#000000"
width="700"
height="600"
name="cylin_outside"
align="middle"
allowScriptAccess="sameDomain"
allowFullScreen="false"
type="application/x-shockwave-flash"
pluginspage=" http://www.adobe.com/go/getflashplayer"
/>
</object>
</noscript>

</div>

<div id="tcontent3" class="tabcontent">

<!--url's used in the movie-->
<!--text used in the movie-->
<!-- saved from url=(0013)about:internet -->
<script language="JavaScript" type="text/javascript">
AC_FL_RunContent(
'codebase', ' http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0',
'width', '700',
'height', '600',
'src', 'cylin_outside',
'quality', 'high',
'pluginspage', ' http://www.adobe.com/go/getflashplayer',
'align', 'middle',
'play', 'true',
'loop', 'true',
'scale', 'showall',
'wmode', 'window',
'devicefont', 'false',
'id', 'cylin_outside',
'bgcolor', '#000000',
'name', 'cylin_outside',
'menu', 'true',
'allowFullScreen', 'false',
'allowScriptAccess','sameDomain',
'movie', 'cylin_outside',
'salign', ''
); //end AC code
</script>
<noscript>
<object
classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase=" http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0"
width="700"
height="600"
id="cylin_outside"
align="middle">

<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="false" />
<param name="movie" value="cylin_outside.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#000000" />
<embed src="cylin_outside.swf"
quality="high"
bgcolor="#000000"
width="700"
height="600"
name="cylin_outside"
align="middle"
allowScriptAccess="sameDomain"
allowFullScreen="false"
type="application/x-shockwave-flash"
pluginspage=" http://www.adobe.com/go/getflashplayer"
/>
</object>
</noscript>

</div>

<div id="tcontent4" class="tabcontent">

<!--url's used in the movie-->
<!--text used in the movie-->
<!-- saved from url=(0013)about:internet -->
<script language="JavaScript" type="text/javascript">
AC_FL_RunContent(
'codebase', ' http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0',
'width', '700',
'height', '600',
'src', 'cylin_outside',
'quality', 'high',
'pluginspage', ' http://www.adobe.com/go/getflashplayer',
'align', 'middle',
'play', 'true',
'loop', 'true',
'scale', 'showall',
'wmode', 'window',
'devicefont', 'false',
'id', 'cylin_outside',
'bgcolor', '#000000',
'name', 'cylin_outside',
'menu', 'true',
'allowFullScreen', 'false',
'allowScriptAccess','sameDomain',
'movie', 'cylin_outside',
'salign', ''
); //end AC code
</script>
<noscript>
<object
classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase=" http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0"
width="700"
height="600"
id="cylin_outside"
align="middle">

<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="false" />
<param name="movie" value="cylin_outside.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#000000" />
<embed src="cylin_outside.swf"
quality="high"
bgcolor="#000000"
width="700"
height="600"
name="cylin_outside"
align="middle"
allowScriptAccess="sameDomain"
allowFullScreen="false"
type="application/x-shockwave-flash"
pluginspage=" http://www.adobe.com/go/getflashplayer"
/>
</object>
</noscript>

</div>

<div id="tcontent5" class=" tabcontent">

<!--url's used in the movie-->
<!--text used in the movie-->
<!-- saved from url=(0013)about:internet -->
<script language="JavaScript" type="text/javascript">
AC_FL_RunContent(
'codebase', ' http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0',
'width', '700',
'height', '600',
'src', 'cylin_outside',
'quality', 'high',
'pluginspage', ' http://www.adobe.com/go/getflashplayer',
'align', 'middle',
'play', 'true',
'loop', 'true',
'scale', 'showall',
'wmode', 'window',
'devicefont', 'false',
'id', 'cylin_outside',
'bgcolor', '#000000',
'name', 'cylin_outside',
'menu', 'true',
'allowFullScreen', 'false',
'allowScriptAccess','sameDomain',
'movie', 'cylin_outside',
'salign', ''
); //end AC code
</script>
<noscript>
<object
classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase=" http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0"
width="700"
height="600"
id="cylin_outside"
align="middle">

<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="false" />
<param name="movie" value="cylin_outside.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#000000" />
<embed src="cylin_outside.swf"
quality="high"
bgcolor="#000000"
width="700"
height="600"
name="cylin_outside"
align="middle"
allowScriptAccess="sameDomain"
allowFullScreen="false"
type="application/x-shockwave-flash"
pluginspage=" http://www.adobe.com/go/getflashplayer"
/>
</object>
</noscript>

</div>

</div>

<div id="flowertabs" class="modernbricksmenu2">
<ul>
<li><a href="#" rel="tcontent1" class="selected">Kilsbergsgården</a></li>
<li><a href="#" rel="tcontent2">Cityakuten - 3/9 2010</a></li>
<li><a href="#" rel="tcontent3">Cityakuten - 10/9 2010</a></li>
<li><a href="#" rel="tcontent4">Cityakuten - 17/9 2010</a></li>
<li><a href="#" rel="tcontent5">Cityakuten - 24/9 2010</a></li>
</ul>
</div>
<br style="clear: left" />

<script type="text/javascript">

var myflowers=new ddtabcontent("flowertabs")
myflowers.setpersist(true)
myflowers.setselectedClassTarget("link") //"link" or "linkparent"
myflowers.init()

</script>

<hr />

</body>
</html>

Ett stycke css-kod:
/* ######### CSS for Inverted Modern Bricks II Tabs. Remove if not using ######### */

.modernbricksmenu2{
padding: 0;
width: 712px;
border-top: 5px solid #CC3300; /*Brown color theme*/
background: transparent;
voice-family: ""}"";
voice-family: inherit;
}

.modernbricksmenu2 ul{
margin: 0;
margin-left: 11px; /*margin between first menu item and left browser edge*/
padding: 0;
list-style: none;
}

.modernbricksmenu2 li{
display: inline;
margin: 0 2px 0 0;
padding: 0;
text-transform: uppercase;
}

.modernbricksmenu2 a{
float: left;
display: block;
font: bold 11px Arial;
color: #ffffff;
text-decoration: none;
margin: 0 1px 0 0; /*Margin between each menu item*/
padding: 5px 10px;
background-color: #333; /*Brown color theme*/
border-top: 1px solid #000000;
}

.modernbricksmenu2 a:hover{
background-color: #CC3300; /*Brown color theme*/
color: white;
}

.modernbricksmenu2 a.selected{ /*currently selected tab*/
background-color: #CC3300; /*Brown color theme*/
color: white;
border-color: #CC3300; /*Brown color theme*/
}

.tabcontent{
display:none;
}

media print {
.tabcontent {
display:block !important;
}
}

Ett stycke Javascript-kod:
//** Tab Content script v2.0- © Dynamic Drive DHTML code library ( http://www.dynamicdrive.com)
//** Updated Oct 7th, 07 to version 2.0. Contains numerous improvements:
// -Added Auto Mode: Script auto rotates the tabs based on an interval, until a tab is explicitly selected
// -Ability to expand/contract arbitrary DIVs on the page as the tabbed content is expanded/ contracted
// -Ability to dynamically select a tab either based on its position within its peers, or its ID attribute (give the target tab one 1st)
// -Ability to set where the CSS classname "selected" get assigned- either to the target tab's link ("A"), or its parent container
//** Updated Feb 18th, 08 to version 2.1: Adds a "tabinstance.cycleit(dir)" method to cycle forward or backward between tabs dynamically
//** Updated April 8th, 08 to version 2.2: Adds support for expanding a tab using a URL parameter (ie: http://mysite.com/tabcontent.htm?tabinterfaceid=0)

////NO NEED TO EDIT BELOW////////////////////////

function ddtabcontent(tabinterfaceid){
this.tabinterfaceid=tabinterfaceid //ID of Tab Menu main container
this.tabs=document.getElementById(tabinterfaceid).getElementsByTagName("a") //Get all tab links within container
this.enabletabpersistence=true
this.hottabspositions=[] //Array to store position of tabs that have a "rel" attr defined, relative to all tab links, within container
this.currentTabIndex=0 //Index of currently selected hot tab (tab with sub content) within hottabspositions[] array
this.subcontentids=[] //Array to store ids of the sub contents ("rel" attr values)
this.revcontentids=[] //Array to store ids of arbitrary contents to expand/contact as well ("rev" attr values)
this.selectedClassTarget="link" //keyword to indicate which target element to assign "selected" CSS class ("linkparent" or "link")
}

ddtabcontent.getCookie=function(Name){
var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair
if ([removed].match(re)) //if cookie found
return [removed].match(re)[0].split("=")[1] //return its value
return ""
}

ddtabcontent.setCookie=function(name, value){
[removed] = name+"="+value+";path=/" //cookie value is domain wide (path=/)
}

ddtabcontent.prototype={

expandit:function(tabid_or_position){ //PUBLIC function to select a tab either by its ID or position(int) within its peers
this.cancelautorun() //stop auto cycling of tabs (if running)
var tabref=""
try{
if (typeof tabid_or_position=="string" && document.getElementById(tabid_or_position).getAttribute("rel")) //if specified tab contains "rel" attr
tabref=document.getElementById(tabid_or_position)
else if (parseInt(tabid_or_position)!=NaN && this.tabs[tabid_or_position].getAttribute("rel")) //if specified tab contains "rel" attr
tabref=this.tabs[tabid_or_position]
}
catch(err){alert("Invalid Tab ID or position entered!")}
if (tabref!="") //if a valid tab is found based on function parameter
this.expandtab(tabref) //expand this tab
},

cycleit:function(dir, autorun){ //PUBLIC function to move foward or backwards through each hot tab (tabinstance.cycleit('foward/back') )
if (dir=="next"){
var currentTabIndex=(this.currentTabIndex<this.hottabspositions.length-1)? this.currentTabIndex+1 : 0
}
else if (dir=="prev"){
var currentTabIndex=(this.currentTabIndex>0)? this.currentTabIndex-1 : this.hottabspositions.length-1
}
if (typeof autorun=="undefined") //if cycleit() is being called by user, versus autorun() function
this.cancelautorun() //stop auto cycling of tabs (if running)
this.expandtab(this.tabs[this.hottabspositions[currentTabIndex]])
},

setpersist:function(bool){ //PUBLIC function to toggle persistence feature
this.enabletabpersistence=bool
},

setselectedClassTarget:function(objstr){ //PUBLIC function to set which target element to assign "selected" CSS class ("linkparent" or "link")
this.selectedClassTarget=objstr || "link"
},

getselectedClassTarget:function(tabref){ //Returns target element to assign "selected" CSS class to
return (this.selectedClassTarget==("linkparent".toLowerCase()))? tabref[removed] : tabref
},

urlparamselect:function(tabinterfaceid){
var result=[removed].search.match(new RegExp(tabinterfaceid+"=(\d+)", "i")) //check for "?tabinterfaceid=2" in URL
return (result==null)? null : parseInt(RegExp.$1) //returns null or index, where index (int) is the selected tab's index
},

expandtab:function(tabref){
var subcontentid=tabref.getAttribute("rel") //Get id of subcontent to expand
//Get "rev" attr as a string of IDs in the format ",john,george,trey,etc," to easily search through
var associatedrevids=(tabref.getAttribute("rev"))? ","+tabref.getAttribute("rev").replace(/s+/, "")+"," : ""
this.expandsubcontent(subcontentid)
this.expandrevcontent(associatedrevids)
for (var i=0; i<this.tabs.length; i++){ //Loop through all tabs, and assign only the selected tab the CSS class "selected"
this.getselectedClassTarget(this.tabs[i]).className=(this.tabs[i].getAttribute("rel")==subcontentid)? "selected" : ""
}
if (this.enabletabpersistence) //if persistence enabled, save selected tab position(int) relative to its peers
ddtabcontent.setCookie(this.tabinterfaceid, tabref.tabposition)
this.setcurrenttabindex(tabref.tabposition) //remember position of selected tab within hottabspositions[] array
},

expandsubcontent:function(subcontentid){
for (var i=0; i<this.subcontentids.length; i++){
var subcontent=document.getElementById(this.subcontentids[i]) //cache current subcontent obj (in for loop)
subcontent.style.display=(subcontent.id==subcontentid)? "block" : "none" //"show" or hide sub content based on matching id attr value
}
},

expandrevcontent:function(associatedrevids){
var allrevids=this.revcontentids
for (var i=0; i<allrevids.length; i++){ //Loop through rev attributes for all tabs in this tab interface
//if any values stored within associatedrevids matches one within allrevids, expand that DIV, otherwise, contract it
document.getElementById(allrevids[i]).style.display=(associatedrevids.indexOf(","+allrevids[i]+",")!=-1)? "block" : "none"
}
},

setcurrenttabindex:function(tabposition){ //store current position of tab (within hottabspositions[] array)
for (var i=0; i<this.hottabspositions.length; i++){
if (tabposition==this.hottabspositions[i]){
this.currentTabIndex=i
break
}
}
},

autorun:function(){ //function to auto cycle through and select tabs based on a set interval
this.cycleit('next', true)
},

cancelautorun:function(){
if (typeof this.autoruntimer!="undefined")
clearInterval(this.autoruntimer)
},

init:function(automodeperiod){
var persistedtab=ddtabcontent.getCookie(this.tabinterfaceid) //get position of persisted tab (applicable if persistence is enabled)
var selectedtab=-1 //Currently selected tab index (-1 meaning none)
var selectedtabfromurl=this.urlparamselect(this.tabinterfaceid) //returns null or index from: tabcontent.htm?tabinterfaceid=index
this.automodeperiod=automodeperiod || 0
for (var i=0; i<this.tabs.length; i++){
this.tabs[i].tabposition=i //remember position of tab relative to its peers
if (this.tabs[i].getAttribute("rel")){
var tabinstance=this
this.hottabspositions[this.hottabspositions.length]=i //store position of "hot" tab ("rel" attr defined) relative to its peers
this.subcontentids[this.subcontentids.length]=this.tabs[i].getAttribute("rel") //store id of sub content ("rel" attr value)
this.tabs[i]>500 && this.hottabspositions.length>1){
this.autoruntimer=setInterval(function(){tabinstance.autorun()}, this.automodeperiod)
}
} //END int() function

} //END Prototype assignment


Röda mapparna (det är samma i alla, och mapparna är heter tab_1 -> tab_5)
*128 bilder (samma i alla mappar, samma namn också.
*1 swf-fil (samma namn i alla mappar, cylin_outside)
[code:xml]<gallery>

<props radius="305" pxspace="20" picwidth="410" picheight="308" />

<col>

<tile>

<thumb>Small1_1.jpg</thumb>

<pic>Pic1_1.jpg</pic>

<cap>URI Events - Image 1_1</cap>

</tile>

<tile>

<thumb>Small1_2.jpg</thumb>

<pic>Pic1_2.jpg</pic>

<cap>URI Events - Image 1_2</cap>

</tile>

<tile>

<thumb>Small1_3.jpg</thumb>

<pic>Pic1_3.jpg</pic>

<cap>URI Events - Image 1_3</cap>

</tile>

<tile>

<thumb>Small1_4.jpg</thumb>

<pic>Pic1_4.jpg</pic>

<cap>URI Events - Image 1_4</cap>

</tile>

</col>


<col>

<tile>

<thumb>Small2_1.jpg</thumb>

<pic>Pic2_1.jpg</pic>

<cap>URI Events - Image 2_1</cap>

</tile>

<tile>

<thumb>Small2_2.jpg</thumb>

<pic>Pic2_2.jpg</pic>

<cap>URI Events - Image 2_2</cap>

</tile>

<tile>

<thumb>Small2_3.jpg</thumb>

<pic>Pic2_3.jpg</pic>

<cap>URI Events - Image 2_3</cap>

</tile>

<tile>

<thumb>Small2_4.jpg</thumb>

<pic>Pic2_4.jpg</pic>

<cap>URI Events - Image 2_4</cap>

</tile>

</col>


<col>

<tile>

<thumb>Small3_1.jpg</thumb>

<pic>Pic3_1.jpg</pic>

<cap>URI Events - Image 3_1</cap>

</tile>

<tile>

<thumb>Small3_2.jpg</thumb>

<pic>Pic3_2.jpg</pic>

<cap>URI Events - Image 3_2</cap>

</tile>

<tile>

<thumb>Small3_3.jpg</thumb>

<pic>Pic3_3.jpg</pic>

<cap>URI Events - Image 3_3</cap>

</tile>

<tile>

<thumb>Small3_4.jpg</thumb>

<pic>Pic3_4.jpg</pic>

<cap>URI Events - Image 3_4</cap>

</tile>

</col>


<col>

<tile>

<thumb>Small4_1.jpg</thumb>

<pic>Pic4_1.jpg</pic>

<cap>URI Events - Image 4_1</cap>

</tile>

<tile>

<thumb>Small4_2.jpg</thumb>

<pic>Pic4_2.jpg</pic>

<cap>URI Events - Image 4_2</cap>

</tile>

<tile>

<thumb>Small4_3.jpg</thumb>

<pic>Pic4_3.jpg</pic>

<cap>URI Events - Image 4_3</cap>

</tile>

<tile>

<thumb>Small4_4.jpg</thumb>

<pic>Pic4_4.jpg</pic>

<cap>URI Events - Image 4_4</cap>

</tile>

</col>


<col>

<tile>

<thumb>Small5_1.jpg</thumb>

<pic>Pic5_1.jpg</pic>

<cap>URI Events - Image 5_1</cap>

</tile>

<tile>

<thumb>Small5_2.jpg</thumb>

<pic>Pic5_2.jpg</pic>

<cap>URI Events - Image 5_2</cap>

</tile>

<tile>

<thumb>Small5_3.jpg</thumb>

<pic>Pic5_3.jpg</pic>

<cap>URI Events - Image 5_3</cap>

</tile>

<tile>

<thumb>Small5_4.jpg</thumb>

<pic>Pic5_4.jpg</pic>

<cap>URI Events - Image 5_4</cap>

</tile>

</col>


<col>

<tile>

<thumb>Small6_1.jpg</thumb>

<pic>Pic6_1.jpg</pic>

<cap>URI Events - Image 6_1</cap>

</tile>

<tile>

<thumb>Small6_2.jpg</thumb>

<pic>Pic6_2.jpg</pic>

<cap>URI Events - Image 6_2</cap>

</tile>

<tile>

<thumb>Small6_3.jpg</thumb>

<pic>Pic6_3.jpg</pic>

<cap>URI Events - Image 6_3</cap>

</tile>

<tile>

<thumb>Small6_4.jpg</thumb>

<pic>Pic6_4.jpg</pic>

<cap>URI Events - Image 6_4</cap>

</tile>

</col>


<col>

<tile>

<thumb>Small7_1.jpg</thumb>

<pic>Pic7_1.jpg</pic>

<cap>URI Events - Image 7_1</cap>

</tile>

<tile>

<thumb>Small7_2.jpg</thumb>

<pic>Pic7_2.jpg</pic>

<cap>URI Events - Image 7_2</cap>

</tile>

<tile>

<thumb>Small7_3.jpg</thumb>

<pic>Pic7_3.jpg</pic>

<cap>URI Events - Image 7_3</cap>

</tile>

<tile>

<thumb>Small7_4.jpg</thumb>

<pic>Pic7_4.jpg</pic>

<cap>URI Events - Image 7_4</cap>

</tile>

</col>

<col>

<tile>

<thumb>Small8_1.jpg</thumb>

<pic>Pic8_1.jpg</pic>

<cap>URI Events - Image 8_1</cap>

</tile>

<tile>

<thumb>Small8_2.jpg</thumb>

<pic>Pic8_2.jpg</pic>

<cap>URI Events - Image 8_2</cap>

</tile>

<tile>

<thumb>Small8_3.jpg</thumb>

<pic>Pic8_3.jpg</pic>

<cap>URI Events - Image 8_3</cap>

</tile>

<tile>

<thumb>Small8_4.jpg</thumb>

<pic>Pic8_4.jpg</pic>

<cap>URI Events - Image 8_4</cap>

</tile>

</col>

<col>

<tile>

<thumb>Small9_1.jpg</thumb>

<pic>Pic9_1.jpg</pic>

<cap>URI Events - Image 9_1</cap>

</tile>

<tile>

<thumb>Small9_2.jpg</thumb>

<pic>Pic9_2.jpg</pic>

<cap>URI Events - Image 9_2</cap>

</tile>

<tile>

<thumb>Small9_3.jpg</thumb>

<pic>Pic9_3.jpg</pic>

<cap>URI Events - Image 9_3</cap>

</tile>

<tile>

<thumb>Small9_4.jpg</thumb>

<pic>Pic9_4.jpg</pic>

<cap>URI Events - Image 9_4</cap>

</tile>

</col>

<col>

<tile>

<thumb>Small10_1.jpg</thumb>

<pic>Pic10_1.jpg</pic>

<cap>URI Events - Image 10_1</cap>

</tile>

<tile>

<thumb>Small10_2.jpg</thumb>

<pic>Pic10_2.jpg</pic>

<cap>URI Events - Image 10_2</cap>

</tile>

<tile>

<thumb>Small10_3.jpg</thumb>

<pic>Pic10_3.jpg</pic>

<cap>URI Events - Image 10_3</cap>

</tile>

<tile>

<thumb>Small10_4.jpg</thumb>

<pic>Pic10_4.jpg</pic>

<cap>URI Events - Image 10_4</cap>

</tile>

</col>

<col>

<tile>

<thumb>Small11_1.jpg</thumb>

<pic>Pic11_1.jpg</pic>

<cap>URI Events - Image 11_1</cap>

</tile>

<tile>

<thumb>Small11_2.jpg</thumb>

<pic>Pic11_2.jpg</pic>

<cap>URI Events - Image 11_2</cap>

</tile>

<tile>

<thumb>Small11_3.jpg</thumb>

<pic>Pic11_3.jpg</pic>

<cap>URI Events - Image 11_3</cap>

</tile>

<tile>

<thumb>Small11_4.jpg</thumb>

<pic>Pic11_4.jpg</pic>

<cap>URI Events - Image 11_4</cap>

</tile>

</col>

<col>

<tile>

<thumb>Small12_1.jpg</thumb>

<pic>Pic12_1.jpg</pic>

<cap>URI Events - Image 12_1</cap>

</tile>

<tile>

<thumb>Small12_2.jpg</thumb>

<pic>Pic12_2.jpg</pic>

<cap>URI Events - Image 12_2</cap>

</tile>

<tile>

<thumb>Small12_3.jpg</thumb>

<pic>Pic12_3.jpg</pic>

<cap>URI Events - Image 12_3</cap>

</tile>

<tile>

<thumb>Small12_4.jpg</thumb>

<pic>Pic12_4.jpg</pic>

<cap>URI Events - Image 12_4</cap>

</tile>

</col>

<col>

<tile>

<thumb>Small13_1.jpg</thumb>

<pic>Pic13_1.jpg</pic>

<cap>URI Events - Image 13_1</cap>

</tile>

<tile>

<thumb>Small13_2.jpg</thumb>

<pic>Pic13_2.jpg</pic>

<cap>URI Events - Image 13_2</cap>

</tile>

<tile>

<thumb>Small13_3.jpg</thumb>

<pic>Pic13_3.jpg</pic>

<cap>URI Events - Image 13_3</cap>

</tile>

<tile>

<thumb>Small13_4.jpg</thumb>

<pic>Pic13_4.jpg</pic>

<cap>URI Events - Image 13_4</cap>

</tile>

</col>

<col>

<tile>

<thumb>Small14_1.jpg</thumb>

<pic>Pic14_1.jpg</pic>

<cap>URI Events - Image 14_1</cap>

</tile>

<tile>

<thumb>Small14_2.jpg</thumb>

<pic>Pic14_2.jpg</pic>

<cap>URI Events - Image 14_2</cap>

</tile>

<tile>

<thumb>Small14_3.jpg</thumb>

<pic>Pic14_3.jpg</pic>

<cap>URI Events - Image 14_3</cap>

</tile>

<tile>

<thumb>Small14_4.jpg</thumb>

<pic>Pic14_4.jpg</pic>

<cap>URI Events - Image 14_4</cap>

</tile>

</col>

<col>

<tile>

<thumb>Small15_1.jpg</thumb>

<pic>Pic15_1.jpg</pic>

<cap>URI Events - Image 15_1</cap>

</tile>

<tile>

<thumb>Small15_2.jpg</thumb>

<pic>Pic15_2.jpg</pic>

<cap>URI Events - Image 15_2</cap>

</tile>

<tile>

<thumb>Small15_3.jpg</thumb>

<pic>Pic15_3.jpg</pic>

<cap>URI Events - Image 15_3</cap>

</tile>

<tile>

<thumb>Small15_4.jpg</thumb>

<pic>Pic15_4.jpg</pic>

<cap>URI Events - Image 15_4</cap>

</tile>

</col>

<col>

<tile>

<thumb>Small16_1.jpg</thumb>

<pic>Pic16_1.jpg</pic>

<cap>URI Events - Image 16_1</cap>

</tile>

<tile>

<thumb>Small16_2.jpg</thumb>

<pic>Pic16_2.jpg</pic>

<cap>URI Events - Image 16_2</cap>

</tile>

<tile>

<thumb>Small16_3.jpg</thumb>

<pic>Pic16_3.jpg</pic>

<cap>URI Events - Image 16_3</cap>

</tile>

<tile>

<thumb>Small16_4.jpg</thumb>

<pic>Pic16_4.jpg</pic>

<cap>URI Events - Image 16_4</cap>

</tile>

</col>

</gallery>[/code]

Och sedan koden i alla gröna mappar:
[code:actionscript]
package flashandmath.as3.cylindrical {


import flash.display.Sprite;


public class ArrowGizmo extends Sprite {


public function ArrowGizmo() {

drawGizmo();

this.buttonMode=true;

}


private function drawGizmo():void {

this.graphics.lineStyle();

this.graphics.beginFill(0x666666,0.7);

this.graphics.moveTo(0,-40)

this.graphics.lineTo(0,40);

this.graphics.lineTo(16,0);

this.graphics.lineTo(0,-40);

this.graphics.endFill();

}



}


}

[/code]
[code:Actionscript]
package flashandmath.as3.cylindrical {


import flash.display.Sprite;

import flash.text.TextField;

import flash.text.TextFieldType;

import flash.text.TextFieldAutoSize;

import flash.text.TextFormat;

import flash.text.TextFormatAlign;


public class CaptionGizmo extends Sprite {


public var captionTextBox:TextField;


public function CaptionGizmo(cl:Number) {

setUpText(cl);

}

internal function setUpText(c:Number):void {

var format:TextFormat=new TextFormat();

captionTextBox=new TextField();

captionTextBox.type=TextFieldType.DYNAMIC;

captionTextBox.multiline=true;

captionTextBox.mouseEnabled=false;

captionTextBox.width=300;

format.align=TextFormatAlign.CENTER;

format.color=c;

format.size=12;

format.font="Arial";

captionTextBox.defaultTextFormat=format;

captionTextBox.text="";

this.addChild(captionTextBox);


}


}


}

[/code]
[code:Actionscript]
package flashandmath.as3.cylindrical {


import flash.display.Sprite;

import flash.display.Bitmap;

import flash.display.BitmapData;


public class Column extends Sprite {

internal var numThumbs:int;

internal var thumbWidth:Number;

internal var thumbHeight:Number;

internal var thumbsVec:Vector.<Bitmap>;

internal var holdersVec:Vector.<Sprite>;

internal var pxSpace:int;

public var colHeight:Number;

public var colWidth:Number;

public var rad:Number;

public var picsVec:Vector.<String>;

public function Column(thumbs:Vector.<BitmapData>,px,r) {

var i:int;

pxSpace=px;

numThumbs=thumbs.length;

thumbWidth=thumbs[0].width;

thumbHeight=thumbs[0].height;

holdersVec=new Vector.<Sprite>();

thumbsVec=new Vector.<Bitmap>();

picsVec=new Vector.<String>();

colHeight=thumbHeight*numThumbs+(numThumbs-1)*pxSpace;

colWidth=thumbWidth;

rad=r;

for(i=0;i<numThumbs;i++){

thumbsVec[i]= new Bitmap(thumbs[i].clone());

thumbs[i].dispose()

thumbsVec[i].scaleX=thumbWidth/(thumbWidth+1);

thumbsVec[i].scaleY=thumbHeight/(thumbHeight+1);

holdersVec[i]=new Sprite();

holdersVec[i].scaleX=(thumbWidth+1)/(thumbWidth+2);

holdersVec[i].scaleY=(thumbHeight+1)/(thumbHeight+2);

holdersVec[i].addChild(thumbsVec[i]);

thumbsVec[i].x=-thumbWidth/2;

this.addChild(holdersVec[i]);

holdersVec[i].x=0;

holdersVec[i].y=i*thumbHeight+i*pxSpace-colHeight/2;

holdersVec[i].z=-rad;

}



}


}


}

[/code]
[code:Actionscript]
package flashandmath.as3.cylindrical {

import flash.display.Loader;

import flash.display.Bitmap;

import flash.display.BitmapData;

import flash.events.Event;

import flash.events.EventDispatcher;

import flash.events.IOErrorEvent;

import flash.net.URLRequest;


public class ThumbsLoader extends EventDispatcher {

public static const IMGS_LOADED:String = "imgsLoaded";

public static const LOAD_ERROR:String = "loadError";

private var loadersArray:Array;

private var numImgs:int;

private var numLoaded:int;

private var isError:Boolean;

private var _bitmapsArray:Array;

private var loadCanRun:Boolean;

public function ThumbsLoader(){


this.loadCanRun=true;

}



public function loadImgs(imgsFiles:Array):void {

if(loadCanRun){

loadCanRun=false;

numLoaded=0;

isError=false;

numImgs=imgsFiles.length;

_bitmapsArray=[];

loadersArray=[];

for(var i:int=0;i<numImgs;i++){

loadersArray[i]=new Loader();

loadersArray[i].contentLoaderInfo.addEventListener(Event.COMPLETE, imgLoaded);

loadersArray[i].contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorOccured);

loadersArray[i].load(new URLRequest(imgsFiles[i]));

}

}

}

private function imgLoaded(e:Event):void {

numLoaded+=1;

checkLoadStatus();

}


private function errorOccured(e:IOErrorEvent):void {

isError=true;

dispatchEvent(new Event(ThumbsLoader.LOAD_ERROR));

}



private function checkLoadStatus():void {

var i:int;

if(numLoaded==numImgs && isError==false){

for(i=0;i<numImgs;i++){

_bitmapsArray[i]=Bitmap(loadersArray[i].content).bitmapData;

}

for(i=0;i<numImgs;i++){

loadersArray[i].contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, errorOccured);

loadersArray[i].contentLoaderInfo.removeEventListener(Event.COMPLETE, imgLoaded);

loadersArray[i]=null;

}

loadersArray=[];

loadCanRun=true;

dispatchEvent(new Event(ThumbsLoader.IMGS_LOADED));

}

}

public function get bitmapsArray():Array {

return _bitmapsArray;

}


}

}[/code]
[code:Actionscript]
package flashandmath.as3.cylindrical {


import flash.display.Sprite;

import flash.text.TextField;

import flash.text.TextFieldType;

import flash.text.TextFieldAutoSize;

import flash.text.TextFormat;


public class LoadText extends Sprite {


public var loadTextBox:TextField;


public function LoadText(cl:Number) {

setUpText(cl);

}

internal function setUpText(c:Number):void {

var format:TextFormat=new TextFormat();

loadTextBox=new TextField();

loadTextBox.type=TextFieldType.DYNAMIC;

loadTextBox.multiline=true;

loadTextBox.mouseEnabled=false;

loadTextBox.width=350;

loadTextBox.height=50;

format.color=c;

format.size=12;

format.font="Arial";

loadTextBox.defaultTextFormat=format;

loadTextBox.text="Loading... Please wait.";

this.addChild(loadTextBox);


}


}


}

[/code]
[code:Actionscript]
package flashandmath.as3.cylindrical {


import flash.display.Sprite;

import flash.display.Shape;

import flash.events.Event;

import flash.geom.Rectangle;


public class LoadSpinner extends Sprite {


private var back:Shape;

private var spinner:Shape;

private var rectWidth:Number;

private var rectHeight:Number;

private var sticks:Vector.<Shape>;

private var numSticks:int;

private var count:int;


public function LoadSpinner(w:Number,h:Number) {

rectWidth=w;

rectHeight=h;

numSticks=12;

count=0;

sticks= new Vector.<Shape>(numSticks);

var i:int;

for(i=0;i<numSticks;i++){

sticks[i]=new Shape();

this.addChild(sticks[i]);

sticks[i].x=rectWidth/2;

sticks[i].y=rectHeight/2;

}

drawBack();

drawSpinner(count);

}

private function drawBack():void {

this.graphics.lineStyle(1,0x666666,0.7);

this.graphics.beginFill(0x666666,0.5);

this.graphics.drawRect(0,0,rectWidth,rectHeight);

this.graphics.endFill();



}

private function drawSpinner(k:int):void {


var minRad:Number=10;

var maxRad:Number=20;

var ang=Math.PI*2/numSticks;

var i:int;

for(i=0;i<numSticks;i++){

sticks[i].graphics.clear();

if(i==k){

sticks[i].graphics.lineStyle(1,0xCC3300);

} else {

sticks[i].graphics.lineStyle(1,0x999999);

}

sticks[i].graphics.moveTo(minRad*Math.cos(i*ang),minRad*Math.sin(i*ang));

sticks[i].graphics.lineTo(maxRad*Math.cos(i*ang),maxRad*Math.sin(i*ang));

}



}



public function stopSpinner():void {

this.removeEventListener(Event.ENTER_FRAME,doSpin);

count=0;

drawSpinner(0);

}

public function startSpinner():void {

this.addEventListener(Event.ENTER_FRAME,doSpin);

}

private function doSpin(e:Event):void {

count+=1;

count=count%numSticks;

drawSpinner(count);



}


}


}

[/code]
[code:Actionscript]
package flashandmath.as3.cylindrical {


import flash.display.Sprite;

import flash.display.BitmapData;

import flash.display.Loader;

import flash.events.Event;

import flash.events.MouseEvent;

import flash.events.IOErrorEvent;

import flash.geom.PerspectiveProjection;

import flash.geom.Point;

import flash.geom.ColorTransform;

import flash.filters.GlowFilter;

import flash.net.URLRequest;


public class CylindricalGalleryOutside extends Sprite {


private var numCols:int;

private var thumbWidth:Number;

private var thumbHeight:Number;

private var thumbsArray:Array;

private var pxSpace:int;

private var colHeight:Number;

private var colWidth:Number;

private var rad:Number;

private var containerHeight:Number;

private var containerWidth:Number;

private var colsVec:Vector.<Column>;

private var colLen:int;

private var angle:Number;

private var galLoader:GalleryLoader;

private var notReady:Boolean;

private var container:Sprite;

private var capsArray:Array;

private var picsArray:Array;

private var picWidth:Number;

private var picHeight:Number;

private var horAddOn:Number;

private var pp:PerspectiveProjection;

private var photoHolder:Sprite;

private var loader:Loader;

private var holdersRefArray:Array;

private var isLoading:Boolean;

private var rotateRight:Boolean=false;

private var rotateLeft:Boolean=false;

private var rightArrow:ArrowGizmo;

private var leftArrow:ArrowGizmo;

private var captionGizmo:CaptionGizmo;

private var captionGizmoOver:CaptionGizmo;

private var loadText:LoadText;

private var loadSpinner:LoadSpinner;

private var colorText:Number;

private var colorGlow:Number;

private var diffAng:Number;

private var widthOfStage:Number;

private var fW:Number;

private var offsetBack:Number;

private var minLight:Number;



public function CylindricalGalleryOutside(xmldata:String,w:Number=700,tc:Number=0x999999,gc:Number=0xCC3300,ob:Number=50) {

notReady=true;

colorText=tc;

colorGlow=gc;

widthOfStage=w;

offsetBack=ob;

fW=55;

minLight=0.05;

galLoader=new GalleryLoader(xmldata);

galLoader.addEventListener(GalleryLoader.XMLLOAD_ERROR, xmlError);

galLoader.addEventListener(GalleryLoader.IMGSLOAD_ERROR, imgsError);

galLoader.addEventListener(GalleryLoader.ALL_LOADED, loadEnded);

loadText=new LoadText(colorGlow);

this.addChild(loadText);

loadText.mouseEnabled=false;

loadText.x=70;

loadText.y=0;

loadText.visible=true;

loadSpinner=new LoadSpinner(300,200);

this.addChild(loadSpinner);

loadSpinner.x=70;

loadSpinner.y=70;

loadSpinner.visible=true;

loadSpinner.startSpinner();

galLoader.loadXML();

}

private function xmlError(e:Event):void {

galLoader.removeEventListener(GalleryLoader.XMLLOAD_ERROR, xmlError);

galLoader.removeEventListener(GalleryLoader.ALL_LOADED, loadEnded);

galLoader.removeEventListener(GalleryLoader.IMGSLOAD_ERROR, imgsError);

loadText.loadTextBox.text="Ett fel har uppstått vid laddningen utav XML filen. Servern är kanske upptagen. Prova att uppdatera sidan.";

loadSpinner.visible=false;

loadSpinner.stopSpinner();

}

private function imgsError(e:Event):void {

galLoader.removeEventListener(GalleryLoader.XMLLOAD_ERROR, xmlError);

galLoader.removeEventListener(GalleryLoader.ALL_LOADED, loadEnded);

galLoader.removeEventListener(GalleryLoader.IMGSLOAD_ERROR, imgsError);

loadText.loadTextBox.text="Ett fel har uppstått vid laddningen utav bilderna. Servern är kanske upptagen. Prova att uppdatera sidan.";

loadSpinner.visible=false;

loadSpinner.stopSpinner();

}

private function loadEnded(e:Event):void {

galLoader.removeEventListener(GalleryLoader.XMLLOAD_ERROR, xmlError);

galLoader.removeEventListener(GalleryLoader.ALL_LOADED, loadEnded);

galLoader.removeEventListener(GalleryLoader.IMGSLOAD_ERROR, imgsError);

loadSpinner.stopSpinner();

this.removeChild(loadSpinner);

initApp();


}

private function initApp():void {

var i:int;

var j:int;

var fL:Number=widthOfStage/(2*Math.tan((Math.PI/180)*(fW/2)));

pxSpace=galLoader.pxSpace;

numCols=galLoader.numCols;

colLen=galLoader.colLen;

picWidth=galLoader.picWidth;

picHeight=galLoader.picHeight;

thumbsArray=[];

picsArray=[];

capsArray=[];

for(i=0;i<numCo

Herp

Är reklamen ivägen? Logga in eller registrera dig så försvinner den!

csols
Visningsbild
P 29 Hjälte 2 524 inlägg
Trådskapare
0
Och sedan koden i alla gröna mappar:
[code:actionscript]
package flashandmath.as3.cylindrical {


import flash.display.Sprite;


public class ArrowGizmo extends Sprite {


public function ArrowGizmo() {

drawGizmo();

this.buttonMode=true;

}


private function drawGizmo():void {

this.graphics.lineStyle();

this.graphics.beginFill(0x666666,0.7);

this.graphics.moveTo(0,-40)

this.graphics.lineTo(0,40);

this.graphics.lineTo(16,0);

this.graphics.lineTo(0,-40);

this.graphics.endFill();

}



}


}

[/code]
[code:Actionscript]
package flashandmath.as3.cylindrical {


import flash.display.Sprite;

import flash.text.TextField;

import flash.text.TextFieldType;

import flash.text.TextFieldAutoSize;

import flash.text.TextFormat;

import flash.text.TextFormatAlign;


public class CaptionGizmo extends Sprite {


public var captionTextBox:TextField;


public function CaptionGizmo(cl:Number) {

setUpText(cl);

}

internal function setUpText(c:Number):void {

var format:TextFormat=new TextFormat();

captionTextBox=new TextField();

captionTextBox.type=TextFieldType.DYNAMIC;

captionTextBox.multiline=true;

captionTextBox.mouseEnabled=false;

captionTextBox.width=300;

format.align=TextFormatAlign.CENTER;

format.color=c;

format.size=12;

format.font="Arial";

captionTextBox.defaultTextFormat=format;

captionTextBox.text="";

this.addChild(captionTextBox);


}


}


}

[/code]
[code:Actionscript]
package flashandmath.as3.cylindrical {


import flash.display.Sprite;

import flash.display.Bitmap;

import flash.display.BitmapData;


public class Column extends Sprite {

internal var numThumbs:int;

internal var thumbWidth:Number;

internal var thumbHeight:Number;

internal var thumbsVec:Vector.<Bitmap>;

internal var holdersVec:Vector.<Sprite>;

internal var pxSpace:int;

public var colHeight:Number;

public var colWidth:Number;

public var rad:Number;

public var picsVec:Vector.<String>;

public function Column(thumbs:Vector.<BitmapData>,px,r) {

var i:int;

pxSpace=px;

numThumbs=thumbs.length;

thumbWidth=thumbs[0].width;

thumbHeight=thumbs[0].height;

holdersVec=new Vector.<Sprite>();

thumbsVec=new Vector.<Bitmap>();

picsVec=new Vector.<String>();

colHeight=thumbHeight*numThumbs+(numThumbs-1)*pxSpace;

colWidth=thumbWidth;

rad=r;

for(i=0;i<numThumbs;i++){

thumbsVec[i]= new Bitmap(thumbs[i].clone());

thumbs[i].dispose()

thumbsVec[i].scaleX=thumbWidth/(thumbWidth+1);

thumbsVec[i].scaleY=thumbHeight/(thumbHeight+1);

holdersVec[i]=new Sprite();

holdersVec[i].scaleX=(thumbWidth+1)/(thumbWidth+2);

holdersVec[i].scaleY=(thumbHeight+1)/(thumbHeight+2);

holdersVec[i].addChild(thumbsVec[i]);

thumbsVec[i].x=-thumbWidth/2;

this.addChild(holdersVec[i]);

holdersVec[i].x=0;

holdersVec[i].y=i*thumbHeight+i*pxSpace-colHeight/2;

holdersVec[i].z=-rad;

}



}


}


}

[/code]
[code:Actionscript]
package flashandmath.as3.cylindrical {

import flash.display.Loader;

import flash.display.Bitmap;

import flash.display.BitmapData;

import flash.events.Event;

import flash.events.EventDispatcher;

import flash.events.IOErrorEvent;

import flash.net.URLRequest;


public class ThumbsLoader extends EventDispatcher {

public static const IMGS_LOADED:String = "imgsLoaded";

public static const LOAD_ERROR:String = "loadError";

private var loadersArray:Array;

private var numImgs:int;

private var numLoaded:int;

private var isError:Boolean;

private var _bitmapsArray:Array;

private var loadCanRun:Boolean;

public function ThumbsLoader(){


this.loadCanRun=true;

}



public function loadImgs(imgsFiles:Array):void {

if(loadCanRun){

loadCanRun=false;

numLoaded=0;

isError=false;

numImgs=imgsFiles.length;

_bitmapsArray=[];

loadersArray=[];

for(var i:int=0;i<numImgs;i++){

loadersArray[i]=new Loader();

loadersArray[i].contentLoaderInfo.addEventListener(Event.COMPLETE, imgLoaded);

loadersArray[i].contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorOccured);

loadersArray[i].load(new URLRequest(imgsFiles[i]));

}

}

}

private function imgLoaded(e:Event):void {

numLoaded+=1;

checkLoadStatus();

}


private function errorOccured(e:IOErrorEvent):void {

isError=true;

dispatchEvent(new Event(ThumbsLoader.LOAD_ERROR));

}



private function checkLoadStatus():void {

var i:int;

if(numLoaded==numImgs && isError==false){

for(i=0;i<numImgs;i++){

_bitmapsArray[i]=Bitmap(loadersArray[i].content).bitmapData;

}

for(i=0;i<numImgs;i++){

loadersArray[i].contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, errorOccured);

loadersArray[i].contentLoaderInfo.removeEventListener(Event.COMPLETE, imgLoaded);

loadersArray[i]=null;

}

loadersArray=[];

loadCanRun=true;

dispatchEvent(new Event(ThumbsLoader.IMGS_LOADED));

}

}

public function get bitmapsArray():Array {

return _bitmapsArray;

}


}

}[/code]
[code:Actionscript]
package flashandmath.as3.cylindrical {


import flash.display.Sprite;

import flash.text.TextField;

import flash.text.TextFieldType;

import flash.text.TextFieldAutoSize;

import flash.text.TextFormat;


public class LoadText extends Sprite {


public var loadTextBox:TextField;


public function LoadText(cl:Number) {

setUpText(cl);

}

internal function setUpText(c:Number):void {

var format:TextFormat=new TextFormat();

loadTextBox=new TextField();

loadTextBox.type=TextFieldType.DYNAMIC;

loadTextBox.multiline=true;

loadTextBox.mouseEnabled=false;

loadTextBox.width=350;

loadTextBox.height=50;

format.color=c;

format.size=12;

format.font="Arial";

loadTextBox.defaultTextFormat=format;

loadTextBox.text="Loading... Please wait.";

this.addChild(loadTextBox);


}


}


}

[/code]
[code:Actionscript]
package flashandmath.as3.cylindrical {


import flash.display.Sprite;

import flash.display.Shape;

import flash.events.Event;

import flash.geom.Rectangle;


public class LoadSpinner extends Sprite {


private var back:Shape;

private var spinner:Shape;

private var rectWidth:Number;

private var rectHeight:Number;

private var sticks:Vector.<Shape>;

private var numSticks:int;

private var count:int;


public function LoadSpinner(w:Number,h:Number) {

rectWidth=w;

rectHeight=h;

numSticks=12;

count=0;

sticks= new Vector.<Shape>(numSticks);

var i:int;

for(i=0;i<numSticks;i++){

sticks[i]=new Shape();

this.addChild(sticks[i]);

sticks[i].x=rectWidth/2;

sticks[i].y=rectHeight/2;

}

drawBack();

drawSpinner(count);

}

private function drawBack():void {

this.graphics.lineStyle(1,0x666666,0.7);

this.graphics.beginFill(0x666666,0.5);

this.graphics.drawRect(0,0,rectWidth,rectHeight);

this.graphics.endFill();



}

private function drawSpinner(k:int):void {


var minRad:Number=10;

var maxRad:Number=20;

var ang=Math.PI*2/numSticks;

var i:int;

for(i=0;i<numSticks;i++){

sticks[i].graphics.clear();

if(i==k){

sticks[i].graphics.lineStyle(1,0xCC3300);

} else {

sticks[i].graphics.lineStyle(1,0x999999);

}

sticks[i].graphics.moveTo(minRad*Math.cos(i*ang),minRad*Math.sin(i*ang));

sticks[i].graphics.lineTo(maxRad*Math.cos(i*ang),maxRad*Math.sin(i*ang));

}



}



public function stopSpinner():void {

this.removeEventListener(Event.ENTER_FRAME,doSpin);

count=0;

drawSpinner(0);

}

public function startSpinner():void {

this.addEventListener(Event.ENTER_FRAME,doSpin);

}

private function doSpin(e:Event):void {

count+=1;

count=count%numSticks;

drawSpinner(count);



}


}


}

[/code]
[code:Actionscript]
package flashandmath.as3.cylindrical {


import flash.display.Sprite;

import flash.display.BitmapData;

import flash.display.Loader;

import flash.events.Event;

import flash.events.MouseEvent;

import flash.events.IOErrorEvent;

import flash.geom.PerspectiveProjection;

import flash.geom.Point;

import flash.geom.ColorTransform;

import flash.filters.GlowFilter;

import flash.net.URLRequest;


public class CylindricalGalleryOutside extends Sprite {


private var numCols:int;

private var thumbWidth:Number;

private var thumbHeight:Number;

private var thumbsArray:Array;

private var pxSpace:int;

private var colHeight:Number;

private var colWidth:Number;

private var rad:Number;

private var containerHeight:Number;

private var containerWidth:Number;

private var colsVec:Vector.<Column>;

private var colLen:int;

private var angle:Number;

private var galLoader:GalleryLoader;

private var notReady:Boolean;

private var container:Sprite;

private var capsArray:Array;

private var picsArray:Array;

private var picWidth:Number;

private var picHeight:Number;

private var horAddOn:Number;

private var pp:PerspectiveProjection;

private var photoHolder:Sprite;

private var loader:Loader;

private var holdersRefArray:Array;

private var isLoading:Boolean;

private var rotateRight:Boolean=false;

private var rotateLeft:Boolean=false;

private var rightArrow:ArrowGizmo;

private var leftArrow:ArrowGizmo;

private var captionGizmo:CaptionGizmo;

private var captionGizmoOver:CaptionGizmo;

private var loadText:LoadText;

private var loadSpinner:LoadSpinner;

private var colorText:Number;

private var colorGlow:Number;

private var diffAng:Number;

private var widthOfStage:Number;

private var fW:Number;

private var offsetBack:Number;

private var minLight:Number;



public function CylindricalGalleryOutside(xmldata:String,w:Number=700,tc:Number=0x999999,gc:Number=0xCC3300,ob:Number=50) {

notReady=true;

colorText=tc;

colorGlow=gc;

widthOfStage=w;

offsetBack=ob;

fW=55;

minLight=0.05;

galLoader=new GalleryLoader(xmldata);

galLoader.addEventListener(GalleryLoader.XMLLOAD_ERROR, xmlError);

galLoader.addEventListener(GalleryLoader.IMGSLOAD_ERROR, imgsError);

galLoader.addEventListener(GalleryLoader.ALL_LOADED, loadEnded);

loadText=new LoadText(colorGlow);

this.addChild(loadText);

loadText.mouseEnabled=false;

loadText.x=70;

loadText.y=0;

loadText.visible=true;

loadSpinner=new LoadSpinner(300,200);

this.addChild(loadSpinner);

loadSpinner.x=70;

loadSpinner.y=70;

loadSpinner.visible=true;

loadSpinner.startSpinner();

galLoader.loadXML();

}

private function xmlError(e:Event):void {

galLoader.removeEventListener(GalleryLoader.XMLLOAD_ERROR, xmlError);

galLoader.removeEventListener(GalleryLoader.ALL_LOADED, loadEnded);

galLoader.removeEventListener(GalleryLoader.IMGSLOAD_ERROR, imgsError);

loadText.loadTextBox.text="Ett fel har uppstått vid laddningen utav XML filen. Servern är kanske upptagen. Prova att uppdatera sidan.";

loadSpinner.visible=false;

loadSpinner.stopSpinner();

}

private function imgsError(e:Event):void {

galLoader.removeEventListener(GalleryLoader.XMLLOAD_ERROR, xmlError);

galLoader.removeEventListener(GalleryLoader.ALL_LOADED, loadEnded);

galLoader.removeEventListener(GalleryLoader.IMGSLOAD_ERROR, imgsError);

loadText.loadTextBox.text="Ett fel har uppstått vid laddningen utav bilderna. Servern är kanske upptagen. Prova att uppdatera sidan.";

loadSpinner.visible=false;

loadSpinner.stopSpinner();

}

private function loadEnded(e:Event):void {

galLoader.removeEventListener(GalleryLoader.XMLLOAD_ERROR, xmlError);

galLoader.removeEventListener(GalleryLoader.ALL_LOADED, loadEnded);

galLoader.removeEventListener(GalleryLoader.IMGSLOAD_ERROR, imgsError);

loadSpinner.stopSpinner();

this.removeChild(loadSpinner);

initApp();


}

private function initApp():void {

var i:int;

var j:int;

var fL:Number=widthOfStage/(2*Math.tan((Math.PI/180)*(fW/2)));

pxSpace=galLoader.pxSpace;

numCols=galLoader.numCols;

colLen=galLoader.colLen;

picWidth=galLoader.picWidth;

picHeight=galLoader.picHeight;

thumbsArray=[];

picsArray=[];

capsArray=[];

for(i=0;i<numCols;i++){

thumbsArray[i]=new Vector.<BitmapData>(colLen);

picsArray[i]=new Vector.<String>(colLen);

capsArray[i]=new Vector.<String>(colLen);

for(j=0;j<colLen;j++){

thumbsArray[i][j]=galLoader.bmpDataArray[i][j].clone();

galLoader.bmpDataArray[i][j].dispose();

picsArray[i][j]=galLoader.picsArray[i][j];

capsArray[i][j]=galLoader.capsArray[i][j];

}

}


thumbWidth=thumbsArray[0][0].width;

thumbHeight=thumbsArray[0][0].height;

colsVec=new Vector.<Column>();

colHeight=thumbHeight*colLen+(colLen-1)*pxSpace;

colWidth=thumbWidth;

rad=galLoader.radius;

angle=360/numCols;

container=new Sprite();

this.addChild(container);

horAddOn=60;

containerWidth=horAddOn+Math.ceil(2*rad*fL/(fL+rad+offsetBack));

containerHeight=colHeight;

container.x=containerWidth/2;

container.y=containerHeight/2;

diffAng=Math.round((Math.asin(rad/(fL+rad+offsetBack))*180/Math.PI)*1000)/1000;

for(i=0;i<numCols;i++){

colsVec[i]= new Column(thumbsArray[i],pxSpace,rad);

colsVec[i].scaleX=colWidth/(colWidth+1);

colsVec[i].scaleY=colHeight/(colHeight+1);

container.addChild(colsVec[i]);

colsVec[i].y=0;

colsVec[i].x=0;

colsVec[i].z=rad+offsetBack;

colsVec[i].rotationY=angle*i;

}


holdersRefArray=[];

for(i=0;i<numCols;i++){

holdersRefArray[i]=new Vector.<Sprite>(colLen);

for(j=0;j<colLen;j++){

holdersRefArray[i][j]=colsVec[i].holdersVec[j];

holdersRefArray[i][j].name=String(i)+"_"+String(j);

holdersRefArray[i][j].addEventListener(MouseEvent.ROLL_OVER,thumbOver);

holdersRefArray[i][j].addEventListener(MouseEvent.ROLL_OUT,thumbOut);

holdersRefArray[i][j].addEventListener(MouseEvent.CLICK,thumbClick);

}

}

pp=new PerspectiveProjection();

pp.fieldOfView=fW;

pp.projectionCenter=new Point(0,0);

container.transform.perspectiveProjection=pp;

photoHolder=new Sprite();

this.addChild(photoHolder);

loader=new Loader();

photoHolder.addChild(loader);

photoHolder.x=containerWidth/2-picWidth/2;

photoHolder.y=containerHeight/2-picHeight/2;

loader.contentLoaderInfo.addEventListener(Event.COMPLETE,donePhotoLoad);

loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,photoLoadError);

photoHolder.addEventListener(MouseEvent.CLICK,photoClick);

photoHolder.visible=false;

rightArrow=new ArrowGizmo();

leftArrow=new ArrowGizmo();

leftArrow.rotation=180;

leftArrow.x=-containerWidth/2-30;

rightArrow.x=containerWidth/2+30;

leftArrow.y=0;

rightArrow.y=0;

container.addChild(leftArrow);

container.addChild(rightArrow);

leftArrow.visible=false;

rightArrow.visible=false;

captionGizmo=new CaptionGizmo(colorText);

this.addChild(captionGizmo);

captionGizmo.mouseEnabled=false;

captionGizmo.x=containerWidth/2-captionGizmo.width/2;

captionGizmo.y=containerHeight-captionGizmo.height;

captionGizmo.y=photoHolder.y+picHeight+30;

captionGizmo.visible=false;

captionGizmoOver=new CaptionGizmo(colorText);

this.addChild(captionGizmoOver);

captionGizmoOver.mouseEnabled=false;

captionGizmoOver.x=containerWidth/2-captionGizmoOver.width/2;

captionGizmoOver.y=containerHeight+20;

captionGizmoOver.visible=false;

loadText.visible=false;

isLoading=false;

notReady=false;

doRotate(0);

rotateRight=false;

rotateLeft=false;

this.addEventListener(Event.ENTER_FRAME,onEnter);

rightArrow.addEventListener(MouseEvent.ROLL_OVER, rightOver);

rightArrow.addEventListener(MouseEvent.ROLL_OUT, rightOut);

leftArrow.addEventListener(MouseEvent.ROLL_OVER, leftOver);

leftArrow.addEventListener(MouseEvent.ROLL_OUT, leftOut);

leftArrow.visible=true;

rightArrow.visible=true;

this.addChild(loadSpinner);

loadSpinner.visible=false;

loadSpinner.x=containerWidth/2-150;

loadSpinner.y=containerHeight/2-100;

}

private function photoLoadError(e:IOErrorEvent):void {

loadText.visible=true;

loadText.loadTextBox.text="Ett fel har uppstått vid laddningen utav bilden. Servern är kanske upptagen. Prova att uppdatera sidan.";

loadSpinner.visible=false;

loadSpinner.stopSpinner();

}

private function donePhotoLoad(e:Event):void {

loadSpinner.visible=false;

loadSpinner.stopSpinner();

photoHolder.visible=true;

isLoading=false;

captionGizmo.visible=true;

}

private function rightOver(e:MouseEvent):void {

rotateRight=true;

}

private function rightOut(e:MouseEvent):void {

rotateRight=false;

}

private function leftOver(e:MouseEvent):void {

rotateLeft=true;

}

private function leftOut(e:MouseEvent):void {

rotateLeft=false;

}

private function onEnter(e:Event):void {

if(isLoading || notReady){

return;

}

if (rotateRight){

this.doRotate(-0.5);
}


if (rotateLeft){

this.doRotate(0.5);

}

}

private function thumbOver(e:MouseEvent):void {

var a:Array=parseIndices(e.target.name);

holdersRefArray[a[0]][a[1]].filters=[new GlowFilter(colorGlow)];

captionGizmoOver.visible=true;

captionGizmoOver.captionTextBox.text=capsArray[Number(a[0])][Number(a[1])];

}

private function thumbOut(e:MouseEvent):void {

var a:Array=parseIndices(e.target.name);

holdersRefArray[a[0]][a[1]].filters=[];

captionGizmoOver.visible=false;

captionGizmoOver.captionTextBox.text="";

}

private function thumbClick(e:MouseEvent):void {

if(isLoading || notReady){

return;

}

if(this.contains(container)){

this.removeChild(container);
}

isLoading=true;

loadSpinner.visible=true;

loadSpinner.startSpinner();

var a:Array=parseIndices(e.target.name);

loader.load(new URLRequest(picsArray[Number(a[0])][Number(a[1])]));

captionGizmo.captionTextBox.text=capsArray[Number(a[0])][Number(a[1])];

}

private function photoClick(e:MouseEvent):void {

if(isLoading || notReady){

return;

}

photoHolder.visible=false;

captionGizmo.visible=false;

captionGizmo.captionTextBox.text="";

if(!this.contains(container)){

this.addChild(container);
}


}


private function parseIndices(s:String):Array {

var a:Array=[];

a=s.split("_");

return [Number(a[0]), Number(a[1])];

}




public function doRotate(ang:Number):void {

if(isLoading || notReady){

return;

}

if(!this.contains(container)){

return;

}

var i:int;

var dim:Number;

for(i=0;i<numCols;i++){

colsVec[i].rotationY+=ang;

colsVec[i].rotationY=colsVec[i].rotationY60;

if((colsVec[i].rotationY>90-diffAng && colsVec[i].rotationY<270+diffAng) || (colsVec[i].rotationY<-(90-diffAng) && colsVec[i].rotationY>-(270+diffAng))){

if(container.contains(colsVec[i])){

container.removeChild(colsVec[i]);

}

} else {
if(!container.contains(colsVec[i])){

container.addChild(colsVec[i]);


}

}


if(container.contains(colsVec[i])){

dim=Math.pow(minLight+(1-minLight)*Math.cos(colsVec[i].rotationY*Math.PI/180),2);

colsVec[i].transform.colorTransform=new ColorTransform(dim,dim,dim);


}
}

}



}


}

[/code]
[code:Actionscript]
package flashandmath.as3.cylindrical {

import flash.display.Loader;

import flash.display.BitmapData;

import flash.display.Bitmap;

import flash.events.EventDispatcher;

import flash.events.Event;

import flash.events.IOErrorEvent;

import flash.net.URLRequest;

import flash.net.URLLoader;


public class GalleryLoader extends EventDispatcher {

public static const ALL_LOADED:String = "allLoaded";

public static const XMLLOAD_ERROR:String = "xmlLoadError";

public static const IMGSLOAD_ERROR:String = "imgsLoadError";

private var xmlRequest:URLRequest;

private var xmlLoader:URLLoader;

private var xmlContent:XML;

private var numImgs:int;

private var isError:Boolean;

private var _bmpDataArray:Array;

private var _capsArray:Array;

private var _picsArray:Array;

private var _picWidth:Number;

private var _picHeight:Number;

private var _radius:Number;

private var _numCols:int;

private var _colLen:int;

private var _pxSpace:Number;

private var thumbsToLoad:Array;

private var thumbsLoader:ThumbsLoader;


public function GalleryLoader(xml:String){

xmlRequest=new URLRequest(xml);

}


public function loadXML():void {

xmlLoader=new URLLoader();

xmlLoader.addEventListener(Event.COMPLETE, xmlLoadComplete);

xmlLoader.addEventListener(IOErrorEvent.IO_ERROR, xmlError);

xmlLoader.load(xmlRequest);

}

private function xmlLoadComplete(e:Event):void {

xmlContent = new XML(xmlLoader.data);

xmlLoader.removeEventListener(Event.COMPLETE, xmlLoadComplete);

xmlLoader.removeEventListener(IOErrorEvent.IO_ERROR, xmlError);

procXML();

}

private function procXML():void {

var i:int;

var j:int;

_numCols=xmlContent.col.length();

_colLen=xmlContent.col[0].tile.length();

_radius=Number(xmlContent.props.@radius);

_pxSpace=Number(xmlContent.props.@pxspace);

_picWidth=Number(xmlContent.props.@picwidth);

_picHeight=Number(xmlContent.props.@picheight);

thumbsToLoad=[];

_bmpDataArray=[];

_picsArray=[];

_capsArray=[];

for(i=0;i<_numCols;i++){

_bmpDataArray[i]=new Vector.<BitmapData>(colLen);

_picsArray[i]=new Vector.<String>(colLen);

_capsArray[i]=new Vector.<String>(colLen);

for(j=0;j<_colLen;j++){

thumbsToLoad.push(xmlContent.col[i].tile[j].thumb.toString());

_picsArray[i][j]=xmlContent.col[i].tile[j].pic.toString();

_capsArray[i][j]=xmlContent.col[i].tile[j].cap.toString();

}
}


thumbsLoader=new ThumbsLoader();

thumbsLoader.addEventListener(ThumbsLoader.IMGS_LOADED,imgsDone);

thumbsLoader.addEventListener(ThumbsLoader.LOAD_ERROR,imgsError);

thumbsLoader.loadImgs(thumbsToLoad);

}

private function imgsError(e:Event):void {

dispatchEvent(new Event(GalleryLoader.IMGSLOAD_ERROR));

}

private function imgsDone(e:Event):void {

var i:int;

var j:int;

thumbsLoader.removeEventListener(ThumbsLoader.IMGS_LOADED,imgsDone);

thumbsLoader.removeEventListener(ThumbsLoader.LOAD_ERROR,imgsError);

for(i=0;i<_numCols;i++){

for(j=0;j<_colLen;j++){

_bmpDataArray[i][j]=thumbsLoader.bitmapsArray[i*colLen+j].clone();

thumbsLoader.bitmapsArray[i*colLen+j].dispose();


}

}

dispatchEvent(new Event(GalleryLoader.ALL_LOADED));


}



private function xmlError(e:IOErrorEvent):void {


dispatchEvent(new Event(GalleryLoader.XMLLOAD_ERROR));

}



public function get bmpDataArray():Array {

return _bmpDataArray;

}

public function get picsArray():Array {

return _picsArray;

}

public function get capsArray():Array {

return _capsArray;

}

public function get radius():Number {

return _radius;

}

public function get numCols():int {

return _numCols;

}

public function get colLen():int {

return _colLen;

}

public function get pxSpace():int {

return _pxSpace;

}

public function get picWidth():Number {

return _picWidth;

}

public function get picHeight():Number {

return _picHeight;

}


}

}[/code]

Shuiet, tvivlar på att någon kommer hitta felet. Jag försökte byta ut diverse src, title, name, id and so on som hette cylin_outside, men utan resultat.

Herp

csols
Visningsbild
P 29 Hjälte 2 524 inlägg
Trådskapare
0
Bumpar, för jag behöver verkligen hjälp. Andz ihz nowz thatz zumonez nowz whatz thez probz izz... Gillar ni det inte så får ni gärna dra bort några inlägg ifrån min post-count, för ehja...

Herp


Forum » Datorer & IT » Hjälp med hemsida.

Ansvariga ordningsvakter:

Användare som läser i den här tråden just nu

1 utloggad

Skriv ett nytt inlägg

Hej! Innan du skriver om ett potentiellt problem så vill vi påminna dig om att du faktiskt inte är ensam. Du är inte onormal och världen kommer inte att gå under, vi lovar! Så slappna av och gilla livet i några minuter - känns det fortfarande hemskt? Skriv gärna ner dina tankar och frågor, vi älskar att hjälpa just dig!

Den här tråden är äldre än Rojks drömtjej!

Det senaste inlägget i den här tråden skrevs för över tre månader sedan. Är du säker på att du vill återuppliva diskussionen? Har du något vettigt att tillföra eller passar din fråga i en ny tråd? Onödiga återupplivningar kommer att låsas så tänk efter en extra gång!

Hjälp

Det här är en hjälpruta

Här får du korta tips och förklaringar om forumet. Välj kapitel i rullningslisten här ovanför.

Rutan uppdateras automagiskt

När du använder funktioner i forumet så visas bra tips här.


Annons
Annons
Annons
Annons