Assets Pack #9 – Painterly Spell Icons

Assets , | Leave a comment

Painterly Spell Icons by John W. Bjerk

This is the Painterly Spell Icons pack (original link) created by John W. Bjerk, from jwbjerk.com and contributor of opengameart.org. According to the author, each spell comes in three power levels.  Additionally most spells have several (up to nine) color variations.

The colors were chosen for their distinctness, and to support a wide range of possible classes of magic and or damage types.  For instance the red version of the “enchant weapon” spell could be used to add fire damage to weapons.

All icons are 256×256, but have been designed to be easily recognizable down to 32×32. The pack contains the following icons:

  • Enchant Weapon: 9 colors
  • Protect: 9 colors
  • Evil Eye: 2 colors
  • Fireball: 4 colors
  • Heal: 3 colors
  • Beam of Light: 9 colors
  • Haste: 3 colors
  • Ice Shards: 3 colors
  • Lightning: 9 colors
  • Hurl Rock: 5 colors
  • Entangling Vines: 4 colors
  • Explosion: 5 colors
  • Horror: 3 colors
  • Leaf: 4 colors
  • Runes: 4 colors
  • Wild: 4 colors
  • Wind: 4 colors
  • Frames: 10 colors, 10 styles (not all styles have all colors)
  • Air Burst: 4 colors
  • Fire Arrows: 5 colors
  • Fog: 7 colors
  • Light: 7 colors
  • Link: 4 colors
  • Ice Needles: 5 colors
  • Rip: 5 colors
  • Shielding: 4 colors
  • Slice: 4 colors
  • Wind grasp: 5 colors

License

This  pack is licensed under the Creative Commons Attribution 3.0 Unported License.

Art attributions

If you use this pack, please include the following attribution in a visible location along with any other credits:

"Painterly Spell Icons" by J. W. Bjerk (eleazzaar) --
www.jwbjerk.com/art -- find this and other open art
at: http://opengameart.org

When possible link to page that presents the original art collection. For this asset pack, it would be ”Painterly Spell Icons” art by John W. Bjerk (opengameart.org).

About the artist

John W. BjerkJohn W. Bjerk
I’m interested in a lot of things, primarily the intersection of technology & art. (I love & even dream in Photoshop!) I work as a Graphic Designer, sometimes wearing the geek or illustrator hat.

ARE2D

Misc , | 1 Comment

ARE2D (animation render engine) is a set of classes to create GPU or Bitmap animations. It has classes for GPU animation sprites, textfields and collision tests.

As3-Bloom

UI , | 1 Comment

As-Bloom is a light weight user interface framework for developers. Some of its features include:

  • Theme editor.
  • Margin layout system.
  • Brush skining system makes it easier to change any component’s style.
  • Inproved class structure is more clear and easy to learn for newbies.
  • Still small file size, little memory use.

Sample

/**
 * Copyright (c) 2012 - 2100 Sindney
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */
package
{
	import flash.display.Sprite;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.events.Event;
	import flash.events.MouseEvent;

	import bloom.containers.*;
	import bloom.core.Margin;
	import bloom.themes.*;
	import bloom.*;

	/**
	 * HelloWorld
	 *
	 * @author sindney
	 */
	[SWF(backgroundColor = 0x000000, frameRate = 40, width = 200, height = 620)]
	public class HelloWorld extends Sprite {

		public function HelloWorld() {
			super();
			stage.align = StageAlign.TOP_LEFT;
			stage.scaleMode = StageScaleMode.NO_SCALE;
			stage.showDefaultContextMenu = false;

			// setup theme first, we use colorTheme for example.
			ThemeBase.setTheme(new ColorTheme());

			// flow container object.
			var flowContainer:FlowContainer = new FlowContainer(this);
			flowContainer.direction = FlowContainer.VERTICALLY;
			flowContainer.move(10, 10);
			flowContainer.size(150, 600);

			var label:Label = new Label(flowContainer, "I'm a Label");
			// use component.margin to place object.
			label.margin.reset(5, 5, 0, 5);

			var button:Button = new Button(flowContainer, "I'm a Button", onButtonClick);

			var checkBox:CheckBox = new CheckBox(flowContainer, "I'm a CheckBox", true);
			checkBox.addEventListener(Event.CHANGE, onCheckBoxChanged);

			// with checkboxgroup, you can easily link a group of checkbox object(and he who extends checkbox).
			// set checkBoxGroup.index = -1 means there's no checkbox object currently.
			var checkBoxGroup:CheckBoxGroup = new CheckBoxGroup( -1);

			checkBox = new CheckBox(flowContainer, "CheckBox 0");
			checkBoxGroup.addChild(checkBox);

			checkBox = new CheckBox(flowContainer, "CheckBox 1");
			checkBoxGroup.addChild(checkBox);

			checkBox = new CheckBox(flowContainer, "CheckBox 2");
			checkBoxGroup.addChild(checkBox);

			// set target checkbox
			checkBoxGroup.index = 0;
			checkBoxGroup.addEventListener(Event.CHANGE, onCheckBoxGroupChanged);

			var numericStepper:NumericStepper = new NumericStepper(flowContainer, 50, 100, -100, 10);
			numericStepper.addEventListener(Event.CHANGE, onNumericStepperChanged);

			var slider:Slider = new Slider(flowContainer, Slider.HORIZONTALLY);
			slider = new Slider(flowContainer, Slider.VERTICALLY);

			var textInput:TextInput = new TextInput(flowContainer);
			var textBox:TextBox = new TextBox(flowContainer);

			var toggleButton:ToggleButton = new ToggleButton(flowContainer, "I'm a toggleButton");
			toggleButton.size(140, 20);

			var toggleSwitcher:ToggleSwitcher = new ToggleSwitcher(flowContainer, true);

			var progressBar:ProgressBar = new ProgressBar(flowContainer, 50);
		}

		private function onNumericStepperChanged(e:Event):void {
			trace("NumericStepper changed!");
		}

		private function onCheckBoxGroupChanged(e:Event):void {
			trace("CheckBoxGroup changed!");
		}

		private function onCheckBoxChanged(e:Event):void {
			trace("CheckBox changed!");
		}

		private function onButtonClick(e:MouseEvent):void {
			trace("Button clicked!");
		}

	}

}

Advanced Hi-Res-Stats

Debug , | 7 Comments

Advanced Hi-Res-Stats is a FPS and memory counter with advanced capabilities like dragging, minimize and in detail execution time monitoring. It is a fork of the original Hi-Res-Stats, by Mrdoob. Some of its features:

  • fps counter.
  • current and max memory counters.
  • frame ‘work’ time (in ms) counter.
  • Graph of fps,frame time,memory counters.
  • increase/decrease width of Stats graph with mouse wheel.
  • Monitoring feature. (shows frame code execution time and frame render time.)
  • Minimize stats to compact mode. (graph is still drawn in background.)
  • can be dragged.
  • buttons to change fps count and toggle monitoring feature, and minimize.
  • Context menu

Sample

var stats:Stats = new Stats();
this.addChild(stats);
stats.width = 150;
stats.x = 10;
stats.y = 20;
//stats.isMinimized = true;
//stats.isDraggable = false;
stats.isMonitoring = true;
//stats.scale = 2;

Introducing api.as3gamegears.com

AS3 Game Gears Blog , 1 Comment

I am pleased to announce the availability of api.as3gamegears.com, a web API for accessing all As3GameGears data.

The most important resource As3GameGears has is its data, a collection of tools with links, samples, licenses and more, all categorized. With that in mind, I thought it would be cool to make all that data accessible though an API.

I always wanted to create an API, but I never had anything worth sharing. Now that I have, I decided to make that side-project come true. First I got some design and structure inspiration from StackOverflow API, which I believe is a good API. After I used Restler (multi-protocol REST API Server written in PHP) for the REST stuff. Finally I wrote some code to synchronize the API and As3GameGears databases.

It was a nice goal to accomplish. I’ve learned a lot about APIs and WordPress database structure. The next step is the development of some widgets, so I can use the API.

You can check the As3GameGears API source code at Github.