OGRE Wiki
Support and community documentation for Ogre3D
Ogre Forums
ogre3d.org
Log in
Username:
Password:
CapsLock is on.
Remember me (for 1 year)
Log in
Home
Tutorials
Tutorials Home
Basic Tutorials
Intermediate Tutorials
Mad Marx Tutorials
In Depth Tutorials
Older Tutorials
External Tutorials
Cookbook
Cookbook Home
CodeBank
Snippets
Experiences
Ogre Articles
Libraries
Libraries Home
Alternative Languages
Assembling A Toolset
Development Tools
OGRE Libraries
List of Libraries
Tools
Tools Home
DCC Tools
DCC Tutorials
DCC Articles
DCC Resources
Assembling a production pipeline
Development
Development Home
Roadmap
Building Ogre
Installing the Ogre SDK
Setting Up An Application
Ogre Wiki Tutorial Framework
Frequently Asked Questions
Google Summer Of Code
Help Requested
Ogre Core Articles
Community
Community Home
Projects Using Ogre
Recommended Reading
Contractors
Wiki
Immediate Wiki Tasklist
Wiki Ideas
Wiki Guidelines
Article Writing Guidelines
Wiki Styles
Wiki Page Tracker
Ogre Wiki Help
Ogre Wiki Help Overview
Help - Basic Syntax
Help - Images
Help - Pages and Structures
Help - Wiki Plugins
Toolbox
Freetags
Categories
List Pages
Structures
Trackers
Statistics
Rankings
List Galleries
Ogre Lexicon
Comments
History: Hikari
View page
Source of version: 3
(current)
{maketoc} !!!Introduction Hikari is a small yet powerful library that makes it easy to __use Flash content in Ogre3D__. The possible applications include: * Create the interface for your game in Flash * Play Flash movies as cut-scenes in your game * Embed Flash mini-games in your game * Combine Flash with 3D to make novel interfaces * Use Flash for animated decals on 3D models And it doesn't stop there! I'm excited to see what other uses people will dream up. Using Hikari !!!The basic overview of using Hikari * Design your content in Flash * Export to SWF files. * Create the HikariManager. * Create a FlashControl for each SWF using the HikariManager. * Load the SWF files into each respective FlashControl. * Bind callbacks in ActionScript and C++. * Inject mouse input into the HikariManager. * Call HikariManager::update from your update loop. !!!Features The major features of Hikari are: * Efficient updating with dirty-rectangling * Full transparency support * Load the Flash ActiveX control from the registry or a local file * Create a FlashControl as a movable overlay or pure material * Bind C++ functions to handle function calls from ActionScript * Call ActionScript callbacks from C++ * Support for basic ActionScript types (null, boolean, number, string) * International string support * Minimal impact on application size !!!License Hikari is licensed under the Lesser GNU Public License (LGPL) with one stipulation: If you use it, tell me about it! (email me: ajs15822 at gmail dot com) !!!Implementation Details For the curious, when you create a FlashControl using the HikariManager, this is what happens: # The Flash ActiveX control is loaded (either from Flash.ocx in the working directory or from the registry). # It is embedded into a Windowless OLE site. # An event handler is bound to the OLE object to handle various Flash events. # Invalidations are caught, the dirty area is expanded. # Mouse input is injected by translating it into native window messages which are then sent directly to the Windowless site. # Keyboard input is handled by directing all keyboard messages (using a message hook) to the focused FlashControl. (To accommodate complex keyboard input) # During a global update, if a FlashControl is dirty, the dirty area is rendered and merged with an internal buffer, which is then blit to a dynamic texture using Ogre3D's facilities. !!!Using with Mogre For ((MOGRE|Mogre)) you can use the wrapper of ((User:GantZ|GantZ)). [http://blackbox.qsh.eu/Files/HikariWrapper.zip|HikariWrapper.zip] includes the sources and a runnable demo. (look to the forum thread - maybe there is a newer version available) A forum topic is dedicated to the wrapper: [http://www.ogre3d.org/addonforums/viewtopic.php?t=8390|HikariWrapper forum topic] !!!See also * [http://code.google.com/p/hikari-library/wiki/CompilingFromSource|Compiling from source] * [http://code.google.com/p/hikari-library/wiki/Communication|Communication] * [http://code.google.com/p/hikari-library/wiki/GettingStarted|Getting started] * [http://agelessanime.com/hikari/forum|Hikari forum] * [http://code.google.com/p/hikari-library/source/checkout|SVN]
Search by Tags
Search Wiki by Freetags
Latest Changes
IDE Eclipse
FMOD SoundManager
HDRlib
Building Ogre V2 with CMake
Ogre 2.1 FAQ
Minimal Ogre Collision
Artifex Terra
OpenMB
Advanced Mogre Framework
MogreSocks
...more
Search
Find
Advanced
Search Help
Online Users
78 online users