====== SHLine ====== ---- dataentry extension ---- type : extension author_mail : shilo86@gmail.com Shilo White description : A simple customizable line. lastupdate_dt : 2011-03-14 compatible : v1.X depends : tags : line, primitive homepage_url : https://gist.github.com/870169 download_url : https://gist.github.com/gists/870169/download sample_url : http://shilo.coarsemode.com/sparrow/extensions/shline/RealtimeClockSample.zip ---- ===== Description ===== SHLine class will allow you to create primitive lines on the stage. You can customize both vertex colors and alpha, change the thickness, set the destination to the end of the line, and everything else you can do with an SPDisplayObject, such as rotation. ===== Sample ===== [[http://shilo.coarsemode.com/sparrow/extensions/shline/RealtimeClockSample.zip|{{http://shilo.coarsemode.com/sparrow/extensions/shline/RealtimeClockScreenshot.png}}]] * Project: [[http://shilo.coarsemode.com/sparrow/extensions/shline/RealtimeClockSample.zip|Quads With Blur]] * Screenshot: [[http://shilo.coarsemode.com/sparrow/extensions/shline/RealtimeClockScreenshot.png|RealtimeClockScreenshot.png]] * Recording: [[http://shilo.coarsemode.com/sparrow/extensions/shline/RealtimeClockRecording.mov|RealtimeClockRecording.mov]] ===== Example ===== //initialize a line with a length of 100 pixels and thickness of 5 pixels SHLine *line = [SHLine lineWithLength:100 andThickness:5]; //set the start color to red line.startColor = 0xff0000; //set the end color to blue line.endColor = 0x0000ff; //set the start opacity to 75% line.startAlpha = 0.75f; //set the end opacity to 25% line.endAlpha = 0.25f; //set the end destination to the bottom right corner of the screen line.x2 = 320; line.y2 = 480; //add the line to the stage [self addChild:line]; //initialize another line with the coords (x, y, width, height) SHLine *line2 = [SHLine lineWithCoords:0:480:320:-480]; //set the line thickness to 5 pixels line2.thickness = 5; //add line2 to the stage to create a 'cross' pattern [self addChild:line2]; ===== Instructions ===== ==== To add into your Sparrow project ==== - Download the source files here: [[https://gist.github.com/gists/870169/download]] - Open your desired Sparrow project - Drag and drop the files into the "Groups & Files" pane - Open "Game.h" - Include the extension: #include "SHLine.h" - Save "Game.h" ==== To add directly into Sparrow source ==== - Download the source files here: [[https://gist.github.com/gists/870169/download]] - Save the files into Sparrow's "/Classes/" directory * Example: "/sparrow/src/Classes/" - Navigate back one directory and open "Sparrow.xcodeproj" * Example: "/sparrow/src/Sparrow.xcodeproj" - Inside the "Groups & Files" pane, locate the "Display" group folder * Example: "Sparrow -> Classes -> Display" - Right click the "Display" group folder and click "Add -> Existing Files.." - Navigate into the "/Classes/" directory and select "SHLine.h" and "SHLine.m", then click "add" - On the next window, leave all options as default and click "add" - In the "Groups & Files" pane, Open "Sparrow.h" * Example "Sparrow -> Classes -> Sparrow.h" - At the bottom of the file, add: #import "SHLine.h" - Save "Sparrow.h" - Close "Sparrow.xcodeproj" ===== Source Code ===== %gist(870169)% ===== Changelog ===== * //2011-01-11:// First version ===== Todo ===== * Add anti-aliasing * Use Core Graphics instead of OpenGL ES * Add new initialization methods ===== Special Thanks ===== * [[http://forum.sparrow-framework.org/profile/enbr|Brian (enbr)]] for the sample project