Hi,
hier zuerst das Script:
ActionScript:
this.onEnterFrame
{
var loader = new LoadVars()
loader.onLoad = function(success)
{
if(success)
{
for (i=0; i<this.palette; i++)
{
_global["colour_" + i] = this["colour_" + i]
}
_root.elements.background.setColor(_global.colour_0);
_root.elements.colour_switch_01.setColor(_global.colour_6);
_global.switch_01 = _global.colour_6;
_root.elements.colour_switch_02.setColor(_global.colour_7);
_global.switch_02 = _global.colour_7;
_root.elements.colour_switch_03.setColor(_global.colour_8);
_global.switch_03 = _global.colour_8;
_root.elements.content_navi_background.setColor(_global.colour_0);
_root.elements.content_navi_background._brightness = "10";
_root.elements.top_navi_rec_01.setColor(_global.colour_0);
_root.elements.top_navi_rec_01._brightness = "5";
_root.elements.top_navi_rec_02.setColor(_global.colour_0);
_root.elements.top_navi_rec_02._brightness = "65";
_root.elements.top_navi_rec_03.setColor(_global.colour_0);
_root.elements.top_navi_rec_03._brightness = "70";
_root.elements.top_navi_rec_04.setColor(_global.colour_0);
_root.elements.top_navi_rec_04._brightness = "75";
_root.elements.top_navi_rec_05.setColor(_global.colour_0);
_root.elements.top_navi_rec_05._brightness = "80";
_root.elements.top_navi_rec_06.setColor(_global.colour_0);
_root.elements.top_navi_rec_06._brightness = "85";
_root.elements.top_navi_rec_07.setColor(_global.colour_0);
_root.elements.top_navi_rec_07._brightness = "90";
_root.elements.navi_rec_01.setColor(_global.colour_0);
_root.elements.navi_rec_01._brightness = "5";
_root.elements.navi_rec_02.setColor(_global.colour_0);
_root.elements.navi_rec_02._brightness = "10";
_root.elements.navi_rec_03.setColor(_global.colour_0);
_root.elements.navi_rec_03._brightness = "15";
_root.elements.navi_rec_04.setColor(_global.colour_0);
_root.elements.navi_rec_04._brightness = "20";
_root.elements.navi_rec_05.setColor(_global.colour_0);
_root.elements.navi_rec_05._brightness = "25";
}
}
loader.load("colours.php");
MovieClip.prototype.setColor = function(colour)
{
newColor = new Color(this);
newColor.setRGB(colour);
};
MovieClip.prototype.addProperty("_brightness", function ()
{
var t = new Color(this).getTransform();
return ((t.rb + t.gb + t.bb) / 3) / 2.56;
},
function (b)
{
var p = 2.56 * b;
new Color(this).setTransform({rb:p, gb:p, bb:p});
}
);
}
Nun das Problem.
Setze ich zuerst das setColor wird das dann vom _brightness Attribut überschrieben und das ganze schwarz + die _brightness Werte.
Setze ich zuerst die setColor Attribute und dann die _brightness Attribute ist es genau umgekehrt, alles eine Farbe aber keine Abstufungen.
Die Farben werden aus einer MySQL Datenbank via PHP ausgelesen:
PHP-Code:
<?php
require_once('config.inc.php');
$db_tab='colours';
$i='0';
$read=mysql_query("select rgb_hexcode_8bit from $db_tab order by id",$handler);
while($a=mysql_fetch_array($read))
{
$result.='&colour_'.$i.'='.$a['rgb_hexcode_8bit'];
$i++;
}
$result.='&palette='.$i;
echo $result;
?>
Die SQL Datei dazu sieht so aus:
PHP-Code:
DROP TABLE IF EXISTS `colours`;
CREATE TABLE `colours` (
`id` int(11) NOT NULL auto_increment,
`rgb_hexcode_8bit` varchar(8) default NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=22 ;
INSERT INTO `colours` VALUES (1, '0x2F3800');
INSERT INTO `colours` VALUES (2, '0x000000');
INSERT INTO `colours` VALUES (3, '0xFA9900');
INSERT INTO `colours` VALUES (4, '0x535E47');
INSERT INTO `colours` VALUES (5, '0x8F8078');
INSERT INTO `colours` VALUES (6, '0xE5E6DA');
INSERT INTO `colours` VALUES (7, '0xA30000');
INSERT INTO `colours` VALUES (8, '0xFFABD4');
INSERT INTO `colours` VALUES (9, '0x000000');
INSERT INTO `colours` VALUES (10, '0xCFF573');
INSERT INTO `colours` VALUES (11, '0x7DFF8F');
INSERT INTO `colours` VALUES (12, '0x3B69DB');
INSERT INTO `colours` VALUES (13, '0xA32900');
INSERT INTO `colours` VALUES (14, '0xFFF2A1');
INSERT INTO `colours` VALUES (15, '0x000000');
INSERT INTO `colours` VALUES (16, '0xA30000');
INSERT INTO `colours` VALUES (17, '0xFFABD4');
INSERT INTO `colours` VALUES (18, '0x000000');
INSERT INTO `colours` VALUES (19, '0xA30000');
INSERT INTO `colours` VALUES (20, '0xFFABD4');
INSERT INTO `colours` VALUES (21, '0x000000');
Hat jemand Ideen? Ich denke mal, das die globale Farbvaribale in dem brightness.prototype anstelle des "this" eingesetzt werden muss, um das ganze in Relation zu bringen. Allerdings überlege ich hier, wie ich das dann auf die Buttons bringe. Das Skript hier ist nur am Anfang des Filmes um den Clips die Farben zu verpassen. Es exisiteren noch 5 weitere Buttons incl. jeweils 3 separate Colourswitches (daher 23 Farben). Es müsste dann auf jeder Buttonaction der Prototype mit der jeweils aktuellen Variable initialisiert werden…
Hat jemand Lust und Zeit sich mit Gedanken zu machen? Vielleicht Bokel? ;)
Liebe Grüße
Yves