Actionscript:
-
...
-
// loop through until we find the root note
-
// grab the third and the fifth and exit the loop
-
for (var i:int = 0; i<leng; i++){
-
if (cMajor[i] == note){
-
third = cMajor[(i + 2) % leng];
-
fifth = cMajor[(i + 4) % leng];
-
break;
-
}
-
}
-
-
// we may need a double sharp on the middle note
-
var sharpFlatDouble:String = sharpFlat;
-
-
// check if this is a sharp, check if it is A or D
-
// if it is add the symbol for double sharp
-
if (sharpFlat == "#"){
-
if (note == "D" || note == "A"){
-
sharpFlatDouble = "x";
-
}
-
}
-
...
If your working on some code... just randomly copy a piece of it and paste it in the comments... This code is from a program that generates any major scale (it's still not finished). Feel free to post code chunks in any language...
[EDIT] the code doesn't need to work on its own... you can just randomly copy from something your working on...
14 Comments
var nn:int = 100 * 100;
for (i = 0;i > 16< nn; i++ ) {
var r:int = ((cFrontOn >> 16) & 0xff);
var g:int = ((cFrontOn >> 8 ) & 0xff);
var b:int = (cFrontOn & 0xff);
var mod:Number = Math.random();
var rgb:int = r * mod << 16 | g * mod << 8 | b * mod;
arrayColId = i % 100;
if ( arrayColId == 0 ) {
arrayRowId++;
dotsArray2d[ arrayRowId ] = [];
}
dotsArray2d[ arrayRowId ][ arrayColId ] = {
x: arrayColId * dotGap + Math.random() * dotGap * 2 - dotGap, y: arrayRowId * dotGap + Math.random() * dotGap * 2 - dotGap, colour: rgb
};
}
private function renderHandler(event:Event):void {
_bmd.draw(_vid);
try {
if (_detector.detectMarkerLite(_raster, 80) && _detector.getConfidence() > .2) {
_viewport.visible = true;
_detector.getTransformMatrix(_transformObject);
_flarContainer.setTransformMatrix(_transformObject);
_renderEngine.renderScene(_scene, _virtualcam, _viewport);
} else {
_viewport.visible = false;
}
} catch (err:Error) {
// nuts to you error
}
}
front.graphics.beginBitmapFill( blanc, new Matrix( 2, 0, 0, 2 ), false );
front.graphics.drawTriangles( vectors, indices, uvsFront, TriangleCulling.POSITIVE );
front.graphics.endFill();
}
private function onComplete():void
{
clearInterval( animInterval );
_folding = false;
dispatchEvent( new Event( Event.COMPLETE, false, true) );
public static function setRandomColor(item:DisplayObject, setRandomAlpha:Boolean = false){
setColor(item, (Math.floor(Math.random() * 16777215)), Math.random());
}
//method to set a specified movieClip(item:movidClip) to a specified color(col:hex value number)
public static function setColor(item:DisplayObject, col:Number, alf:Number = 1) {
var myColor:ColorTransform = item.transform.colorTransform;
//check color bounds
if (col > 16777215) col = 16777215;
else if (col 1) alp = 1;
else if (alp < 0) alp = 0;
myColor.alphaMultiplier = alf;
item.transform.colorTransform = myColor;
}
private function drawCurve(h1:Sprite, h2:Sprite, h3:Sprite):void
{
var m:Point = new Point((h1.x + h3.x) / 2, (h1.y + h3.y) / 2);
var ip:Point = new Point(2 * h2.x - m.x, 2 * h2.y - m.y);
graphics.curveTo(ip.x, ip.y, h3.x, h3.y);
}
var xOffset : Number = x % _spacing;
if (Math.abs (xOffset) <= _spacing * 0.5)
{
_targetX = (x - xOffset);
}
else
{
_targetX = (x - xOffset) - _spacing;
}
var bmd:BitmapData = new BitmapData(16, 8, false, 0xFFFFFF);
var bm:BitmapMaterial = new BitmapMaterial(bmd);
//bm.doubleSided = true;
var mat:ShadedMaterial = new ShadedMaterial(bm, shader);
mat.doubleSided = true;
_plane = new Plane(mat, 16, 8, 5, 1);
addChild(_plane);
var pl:ViewportLayer = layer.getChildLayer(_plane, true);
pl.sortMode = ViewportLayerSortMode.INDEX_SORT;
place();
onOver = over;
_mstack = new ModifierStack(new LibraryPv3d(), _plane);
_bend = new Bend( Math.random() - .5, Math.random() * .2 + .4, Math.random() * .6 - .3);
_mstack.addModifier(_bend);
_mstack.apply();
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
graphics.lineStyle(3);
graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
_massLoader = new CompositeMassLoader();
MassLoader(_massLoader.massLoader).alwaysDispatchProgressEvent = true;
_massLoader.massLoader.addEventListener(Event.OPEN, handleOpen);
_massLoader.massLoader.addEventListener(ProgressEvent.PROGRESS, handleProgress);
_massLoader.massLoader.addEventListener(Event.COMPLETE, handleComplete);
_massLoader.massLoader.addEventListener(MassLoadEvent.FILE_OPEN, handleFileOpen);
_massLoader.massLoader.addEventListener(MassLoadEvent.FILE_CLOSE, handleFileClose);
_lfDo = _massLoader.addFile(”sound/do.mp3″);
_lfMi = _massLoader.addFile(”sound/mi.mp3″);
_massLoader.start();
}
// if the element is found as a firstChild of the XMLList items
if(checkNodeLocation[0].hasOwnProperty(element_p)) {
for each(xmlItem in checkNodeLocation) {
obj = {storedXml:xmlItem, nodeToSort:xmlItem[element_p].toString()};
sortArray.push(obj);
}
// if the xml node you’re sorting on is the first child of the xml, then use this to store and sort
} else if(xml_p.hasOwnProperty(element_p)) {
var qLen:int = checkNodeLocation.length();
for (var q:int=0; q<qLen; q++) {
obj = {storedXml:checkNodeLocation[q], nodeToSort:checkNodeLocation[q].toString()};
sortArray.push(obj);
}
// if the element is not found as a firstChild of the XMLList items, resort to ..*.
} else {
for each(xmlItem in xml_p.children()) {
obj = {storedXml:xmlItem, nodeToSort:xmlItem..*.child(element_p).toString()};
sortArray.push(obj);
}
}
sortArray.sortOn(’nodeToSort’, sortby_p);
var newSortedList:XMLList = new XMLList();
for each(obj in sortArray) {
newSortedList += obj.storedXml;
}
return xml_p.copy().setChildren(newSortedList);
// Draw the Fibonacci spiral
var phi:Number = 1.61803399;
var g:Graphics = graphics;
var r2:Rectangle, r3:Rectangle, r:Rectangle = new Rectangle(0,0,stage.stageWidth,stage.stageWidth / phi);
var b1:int, b2:int, b3:int, i:int = 0
var p:Array = ['x','y','width','height','left','right','top','bottom'];
g.lineStyle(0,0×000000);
while (r.width > 1)
{
g.drawRect (r.left,r.top,r.width,r.height);
b1 = i%2, b2 = (i*0.5<<0)%2, b3 = ((i+1)*0.5<< 0)%2;
g.moveTo(r[b2?p[5]:p[4]],r[b3?p[6]:p[7]]);
r2 = r.clone(); r3 = r.clone();
r2[[p[0],p[1],p[2],p[3]][i%4]]+=(r[b1?p[3]:p[2]]/phi)*(b2?-1:1);
r=r.intersection(r2);
g.curveTo(r3[b3?p[5]:p[4]],r3[b2?p[7]:p[6]],r[b3?p[5]:p[4]],r[b2?p[7]:p[6]]);
i++;
}
@justin… that’s a great one!
// maybe too much code for this. simple scroll with snap interval values, automatic direction (Horizontal/vertical), and background click.
var w: int = 60, h: int = 120,border: int= 5,snapValue: Number = 0.1,
ref: Array = [{ p: 'x', s: 'width', s2: 'w', m: 'mouseX' },{ p: 'y', s: 'height', s2: 'h', m: 'mouseY' }],
dir: Boolean = w > h, r: Object = ref[ int(!dir)],scroll:Sprite=addChild( new Sprite ) as Sprite,
back: Shape = scroll.addChild( new Shape ) as Shape,tracker: Sprite=scroll.addChild( new Sprite ) as Sprite,
offset: Number, _value : Number = 0,maxBound: Number ;
drawBox( tracker.graphics, (dir?w/4:w)-border*2, (!dir?h/4:h)-border*2, 0xFF0000 ) ;
drawBox( back.graphics, w, h, 0×333333 ) ;
maxBound = back[ r.s ] - tracker[ r.s ] - border;
scroll.x = scroll.y = 30 ;
tracker.buttonMode = true ;
tracker.x = border ;
constrain()
tracker.addEventListener( MouseEvent.MOUSE_DOWN, onGrab ) ;
scroll.addEventListener( MouseEvent.MOUSE_DOWN, onScrollClick ) ;
function onGrab( $event: MouseEvent ): void {
offset = tracker[ r.m ] ;
stage.addEventListener( MouseEvent.MOUSE_MOVE, onDrag ) ;
stage.addEventListener( MouseEvent.MOUSE_UP, onDrop ) ;
}
function onDrag( $event: MouseEvent ): void {
tracker[ r.p ] = scroll[ r.m ] - offset ;
adjustAndUpdate( ) ;
}
function constrain( ): void {
// snap value.
tracker[ r.p ] = tracker[ r.p ] - tracker[ r.p ] % ( maxBound * snapValue ) ;
var min: Number = border, max: Number = maxBound
tracker[ r.p ] = Math.min( max, Math.max( tracker[ r.p ], min )) ;
}
function onDrop( $event: MouseEvent ): void {
stage.removeEventListener( MouseEvent.MOUSE_MOVE, onDrag ) ;
stage.removeEventListener( MouseEvent.MOUSE_UP, onDrop ) ;
}
function onScrollClick( $event: MouseEvent ): void {
value = scroll[ r.m ] / scroll[ r.s ] ;
}
function set value( $value: Number ): void {
tracker[ r.p ] = $value * back[ r.s ] ;
adjustAndUpdate( ) ;
}
function get value( ): Number {
return _value ;
}
function adjustAndUpdate( ) {
constrain( ) ;
_value = (tracker[ r.p ]-border) / (maxBound - border) ;
dispatchEvent( new Event( Event.CHANGE )) ;
trace( “value: “, _value )
}
function drawBox( $g: Graphics, $w: int, $h: int, $color: uint ): void {
$g.beginFill( $color ) ;
$g.drawRect( 0, 0, $w, $h ) ;
$g.endFill( ) ;
}
/*XML ticker */
var url_toget:String;
url_toget = root.loaderInfo.parameters.url_toget;
var loader:URLLoader = new URLLoader();
var t:Timer = new Timer(25000,1);
t.addEventListener(TimerEvent.TIMER, tickEvent);
//t.start();
var i:int = 0;
var xml;
function tickEvent(e:TimerEvent)
{
getURL();
}
if(!loader.hasEventListener(Event.COMPLETE))
{
loader.addEventListener(Event.COMPLETE, loadXML);
}
function getURL():void
{
loader.load(new URLRequest(url_toget));
}
function loadXML(e:Event):void
{
xml = new XML(e.target.data);
doSomethingWithThe(xml);
}
One Trackback
[...] Paste an Arbitrary Piece of Code. This entry was posted in lifestream. Bookmark the permalink. Comments are closed, but you can [...]