add readme, license, and demo
23
.github/demo/Release/.htaccess
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
Options +FollowSymLinks
|
||||
RewriteEngine on
|
||||
|
||||
RewriteCond %{HTTP:Accept-encoding} gzip
|
||||
RewriteCond %{REQUEST_FILENAME}gz -f
|
||||
RewriteRule ^(.*)\.js$ $1\.jsgz [L]
|
||||
|
||||
RewriteCond %{HTTP:Accept-encoding} gzip
|
||||
RewriteCond %{REQUEST_FILENAME}gz -f
|
||||
RewriteRule ^(.*)\.data$ $1\.datagz [L]
|
||||
|
||||
RewriteCond %{HTTP:Accept-encoding} gzip
|
||||
RewriteCond %{REQUEST_FILENAME}gz -f
|
||||
RewriteRule ^(.*)\.mem$ $1\.memgz [L]
|
||||
|
||||
RewriteCond %{HTTP:Accept-encoding} gzip
|
||||
RewriteCond %{REQUEST_FILENAME}gz -f
|
||||
RewriteRule ^(.*)\.unity3d$ $1\.unity3dgz [L]
|
||||
|
||||
AddEncoding gzip .jsgz
|
||||
AddEncoding gzip .datagz
|
||||
AddEncoding gzip .memgz
|
||||
AddEncoding gzip .unity3dgz
|
||||
2
.github/demo/Release/UnityLoader.js
vendored
Normal file
BIN
.github/demo/Release/WebDemo.datagz
vendored
Normal file
BIN
.github/demo/Release/WebDemo.jsgz
vendored
Normal file
BIN
.github/demo/Release/WebDemo.memgz
vendored
Normal file
97
.github/demo/TemplateData/UnityProgress.js
vendored
Normal file
@@ -0,0 +1,97 @@
|
||||
function UnityProgress (dom) {
|
||||
this.progress = 0.0;
|
||||
this.message = "";
|
||||
this.dom = dom;
|
||||
|
||||
var parent = dom.parentNode;
|
||||
|
||||
var background = document.createElement("div");
|
||||
background.style.background = "#4D4D4D";
|
||||
background.style.position = "absolute";
|
||||
parent.appendChild(background);
|
||||
this.background = background;
|
||||
|
||||
var logoImage = document.createElement("img");
|
||||
logoImage.src = "TemplateData/progresslogo.png";
|
||||
logoImage.style.position = "absolute";
|
||||
parent.appendChild(logoImage);
|
||||
this.logoImage = logoImage;
|
||||
|
||||
var progressFrame = document.createElement("img");
|
||||
progressFrame.src = "TemplateData/loadingbar.png";
|
||||
progressFrame.style.position = "absolute";
|
||||
parent.appendChild(progressFrame);
|
||||
this.progressFrame = progressFrame;
|
||||
|
||||
var progressBar = document.createElement("img");
|
||||
progressBar.src = "TemplateData/fullbar.png";
|
||||
progressBar.style.position = "absolute";
|
||||
parent.appendChild(progressBar);
|
||||
this.progressBar = progressBar;
|
||||
|
||||
var messageArea = document.createElement("p");
|
||||
messageArea.style.position = "absolute";
|
||||
parent.appendChild(messageArea);
|
||||
this.messageArea = messageArea;
|
||||
|
||||
|
||||
this.SetProgress = function (progress) {
|
||||
if (this.progress < progress)
|
||||
this.progress = progress;
|
||||
this.messageArea.style.display = "none";
|
||||
this.progressFrame.style.display = "inline";
|
||||
this.progressBar.style.display = "inline";
|
||||
this.Update();
|
||||
}
|
||||
|
||||
this.SetMessage = function (message) {
|
||||
this.message = message;
|
||||
this.background.style.display = "inline";
|
||||
this.logoImage.style.display = "inline";
|
||||
this.progressFrame.style.display = "none";
|
||||
this.progressBar.style.display = "none";
|
||||
this.Update();
|
||||
}
|
||||
|
||||
this.Clear = function() {
|
||||
this.background.style.display = "none";
|
||||
this.logoImage.style.display = "none";
|
||||
this.progressFrame.style.display = "none";
|
||||
this.progressBar.style.display = "none";
|
||||
}
|
||||
|
||||
this.Update = function() {
|
||||
this.background.style.top = this.dom.offsetTop + 'px';
|
||||
this.background.style.left = this.dom.offsetLeft + 'px';
|
||||
this.background.style.width = this.dom.offsetWidth + 'px';
|
||||
this.background.style.height = this.dom.offsetHeight + 'px';
|
||||
|
||||
var logoImg = new Image();
|
||||
logoImg.src = this.logoImage.src;
|
||||
var progressFrameImg = new Image();
|
||||
progressFrameImg.src = this.progressFrame.src;
|
||||
|
||||
this.logoImage.style.top = this.dom.offsetTop + (this.dom.offsetHeight * 0.5 - logoImg.height * 0.5) + 'px';
|
||||
this.logoImage.style.left = this.dom.offsetLeft + (this.dom.offsetWidth * 0.5 - logoImg.width * 0.5) + 'px';
|
||||
this.logoImage.style.width = logoImg.width+'px';
|
||||
this.logoImage.style.height = logoImg.height+'px';
|
||||
|
||||
this.progressFrame.style.top = this.dom.offsetTop + (this.dom.offsetHeight * 0.5 + logoImg.height * 0.5 + 10) + 'px';
|
||||
this.progressFrame.style.left = this.dom.offsetLeft + (this.dom.offsetWidth * 0.5 - progressFrameImg.width * 0.5) + 'px';
|
||||
this.progressFrame.width = progressFrameImg.width;
|
||||
this.progressFrame.height = progressFrameImg.height;
|
||||
|
||||
this.progressBar.style.top = this.progressFrame.style.top;
|
||||
this.progressBar.style.left = this.progressFrame.style.left;
|
||||
this.progressBar.width = progressFrameImg.width * Math.min(this.progress, 1);
|
||||
this.progressBar.height = progressFrameImg.height;
|
||||
|
||||
this.messageArea.style.top = this.progressFrame.style.top;
|
||||
this.messageArea.style.left = 0;
|
||||
this.messageArea.style.width = '100%';
|
||||
this.messageArea.style.textAlign = 'center';
|
||||
this.messageArea.innerHTML = this.message;
|
||||
}
|
||||
|
||||
this.Update ();
|
||||
}
|
||||
BIN
.github/demo/TemplateData/favicon.ico
vendored
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
.github/demo/TemplateData/fullbar.png
vendored
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
.github/demo/TemplateData/fullscreen.png
vendored
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
.github/demo/TemplateData/loadingbar.png
vendored
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
.github/demo/TemplateData/logo.png
vendored
Normal file
|
After Width: | Height: | Size: 6.1 KiB |
BIN
.github/demo/TemplateData/progresslogo.png
vendored
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
28
.github/demo/TemplateData/style.css
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
|
||||
/****************************************
|
||||
==== RESETS
|
||||
****************************************/
|
||||
|
||||
html,body,div,canvas { margin: 0; padding: 0; }
|
||||
::-moz-selection { color: #333; text-shadow: none; }
|
||||
::selection { color: #333; text-shadow: none; }
|
||||
.clear:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }
|
||||
.clear { display: inline-table; clear: both; }
|
||||
/* Hides from IE-mac \*/ * html .clear { height: 1%; } .clear { display: block; } /* End hide from IE-mac */
|
||||
|
||||
/****************************************
|
||||
==== LAYOUT
|
||||
****************************************/
|
||||
|
||||
html, body { width: 100%; height: 100%; font-family: Helvetica, Verdana, Arial, sans-serif; }
|
||||
body { }
|
||||
p.header, p.footer { display: none; }
|
||||
div.logo { width: 204px; height: 38px; float: left; background: url(logo.png) 0 0 no-repeat; position: relative; z-index: 10; }
|
||||
div.title { height: 38px; line-height: 38px; padding: 0 10px; margin: 0 1px 0 0; float: right; color: #333; text-align: right; font-size: 18px; position: relative; z-index: 10; }
|
||||
.template-wrap { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }
|
||||
.template-wrap canvas { margin: 0 0 10px 0; position: relative; z-index: 9; box-shadow: 0 10px 30px rgba(0,0,0,0.2); -moz-box-shadow: 0 10px 30px rgba(0,0,0,0.2); }
|
||||
.fullscreen { float: right; position: relative; z-index: 10; }
|
||||
|
||||
body.template { }
|
||||
.template .template-wrap { }
|
||||
.template .template-wrap canvas { }
|
||||
34
.github/demo/index.html
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
<!doctype html>
|
||||
<html lang="en-us">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<title>Unity WebGL Player | UnityFlash</title>
|
||||
<link rel="stylesheet" href="TemplateData/style.css">
|
||||
<link rel="shortcut icon" href="TemplateData/favicon.ico" />
|
||||
<script src="TemplateData/UnityProgress.js"></script>
|
||||
</head>
|
||||
<body class="template">
|
||||
<p class="header"><span>Unity WebGL Player | </span>UnityFlash</p>
|
||||
<div class="template-wrap clear">
|
||||
<canvas class="emscripten" id="canvas" oncontextmenu="event.preventDefault()" height="600px" width="960px"></canvas>
|
||||
<br>
|
||||
<div class="logo"></div>
|
||||
<div class="fullscreen"><img src="TemplateData/fullscreen.png" width="38" height="38" alt="Fullscreen" title="Fullscreen" onclick="SetFullscreen(1);" /></div>
|
||||
<div class="title">UnityFlash</div>
|
||||
</div>
|
||||
<p class="footer">« created with <a href="http://unity3d.com/" title="Go to unity3d.com">Unity</a> »</p>
|
||||
<script type='text/javascript'>
|
||||
var Module = {
|
||||
TOTAL_MEMORY: 134217728,
|
||||
errorhandler: null, // arguments: err, url, line. This function must return 'true' if the error is handled, otherwise 'false'
|
||||
compatibilitycheck: null,
|
||||
dataUrl: "Release/WebDemo.data",
|
||||
codeUrl: "Release/WebDemo.js",
|
||||
memUrl: "Release/WebDemo.mem",
|
||||
};
|
||||
</script>
|
||||
<script src="Release/UnityLoader.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
BIN
.github/images/screenshot-1.png
vendored
Normal file
|
After Width: | Height: | Size: 557 KiB |
BIN
.github/images/screenshot-2.png
vendored
Normal file
|
After Width: | Height: | Size: 854 KiB |
BIN
.github/images/screenshot-3.png
vendored
Normal file
|
After Width: | Height: | Size: 738 KiB |
BIN
.github/images/title-icon.png
vendored
Normal file
|
After Width: | Height: | Size: 756 KiB |
267
Assets/FlashTools/Docs/API.md
Normal file
@@ -0,0 +1,267 @@
|
||||
## SwfClip
|
||||
|
||||
```csharp
|
||||
// Occurs when clip changes
|
||||
event Action<SwfClip> OnChangeClipEvent;
|
||||
|
||||
// Occurs when sequence changes
|
||||
event Action<SwfClip> OnChangeSequenceEvent;
|
||||
|
||||
// Occurs when current frame changes
|
||||
event Action<SwfClip> OnChangeCurrentFrameEvent;
|
||||
```
|
||||
|
||||
```csharp
|
||||
// Gets or sets the animation mesh renderer sorting layer
|
||||
// [value] - The sorting layer
|
||||
string sortingLayer { get; set; }
|
||||
|
||||
// Gets or sets the animation mesh renderer sorting order
|
||||
// [value] - The sorting order
|
||||
int sortingOrder { get; set; }
|
||||
|
||||
// Gets or sets the animation tint color
|
||||
// [value] - The tint color
|
||||
Color tint { get; set; }
|
||||
|
||||
// Gets or sets the animation asset (reset sequence and current frame)
|
||||
// [value] - The animation asset
|
||||
SwfClipAsset clip { get; set; }
|
||||
|
||||
// Gets or sets the animation sequence (reset current frame)
|
||||
// [value] - The animation sequence
|
||||
string sequence { get; set; }
|
||||
|
||||
// Gets or sets the animation current frame
|
||||
// [value] - The animation current frame
|
||||
int currentFrame { get; set; }
|
||||
|
||||
// Gets the current animation sequence frame count
|
||||
// [value] - The frame count
|
||||
int frameCount { get; }
|
||||
|
||||
// Gets the animation frame rate
|
||||
// [value] - The frame rate
|
||||
float frameRate { get; }
|
||||
|
||||
// Gets the current frame label count
|
||||
// [value] - The frame label count
|
||||
int currentLabelCount { get; }
|
||||
```
|
||||
|
||||
```csharp
|
||||
// Gets the current frame mesh bounding volume in local space (Since 1.3.8)
|
||||
// [value] - The bounding volume in local space
|
||||
Bounds currentLocalBounds { get; }
|
||||
|
||||
// Gets the current frame mesh bounding volume in world space (Since 1.3.8)
|
||||
// [value] - The bounding volume in world space
|
||||
Bounds currentWorldBounds { get; }
|
||||
```
|
||||
|
||||
```csharp
|
||||
// Rewind current sequence to begin frame
|
||||
void ToBeginFrame();
|
||||
|
||||
// Rewind current sequence to end frame
|
||||
void ToEndFrame();
|
||||
|
||||
// Rewind current sequence to previous frame
|
||||
// [returns] - [true], if animation was rewound, [false] otherwise
|
||||
bool ToPrevFrame();
|
||||
|
||||
// Rewind current sequence to next frame
|
||||
// [returns] - [true], if animation was rewound, [false] otherwise
|
||||
bool ToNextFrame();
|
||||
|
||||
// Gets the current frame label by index
|
||||
// [returns] - The current frame label
|
||||
// [index] - Current frame label index
|
||||
string GetCurrentFrameLabel(int index);
|
||||
```
|
||||
|
||||
## SwfClipController
|
||||
|
||||
```csharp
|
||||
// Occurs when the controller stops played clip
|
||||
event Action<SwfClipController> OnStopPlayingEvent;
|
||||
|
||||
// Occurs when the controller plays stopped clip
|
||||
event Action<SwfClipController> OnPlayStoppedEvent;
|
||||
|
||||
// Occurs when the controller rewinds played clip
|
||||
event Action<SwfClipController> OnRewindPlayingEvent;
|
||||
```
|
||||
|
||||
```csharp
|
||||
// Controller play modes
|
||||
enum PlayModes {
|
||||
// Forward play mode
|
||||
Forward,
|
||||
// Backward play mode
|
||||
Backward
|
||||
}
|
||||
|
||||
// Controller loop modes
|
||||
enum LoopModes {
|
||||
// Once loop mode
|
||||
Once,
|
||||
// Repeat loop mode
|
||||
Loop
|
||||
}
|
||||
|
||||
// Gets or sets a value indicating whether controller play after awake on scene
|
||||
// [value] - [true] if auto play; otherwise, [false]
|
||||
bool autoPlay { get; set; }
|
||||
|
||||
// Gets or sets a value indicating whether controller uses unscaled delta time
|
||||
// [value] - [true] if uses unscaled delta time; otherwise, [false]
|
||||
bool useUnscaledDt { get; set; }
|
||||
|
||||
// Gets or sets the controller rate scale
|
||||
// [value] - The rate scale
|
||||
float rateScale { get; set; }
|
||||
|
||||
// Gets or sets the controller group name
|
||||
// [value] - The group name
|
||||
string groupName { get; set; }
|
||||
|
||||
// Gets or sets the controller play mode
|
||||
// [value] - The play mode
|
||||
PlayModes playMode { get; set; }
|
||||
|
||||
// Gets or sets the controller loop mode
|
||||
// [value] - The loop mode
|
||||
LoopModes loopMode { get; set; }
|
||||
|
||||
// Gets the controller clip
|
||||
// [value] - The clip
|
||||
SwfClip clip { get; }
|
||||
|
||||
// Gets a value indicating whether controller is playing
|
||||
// [value] - [true] if is playing; otherwise, [false]
|
||||
bool isPlaying { get; }
|
||||
|
||||
// Gets a value indicating whether controller is stopped
|
||||
// [value] - [true] if is stopped; otherwise, [false]
|
||||
bool isStopped { get; }
|
||||
```
|
||||
|
||||
```csharp
|
||||
// Changes the animation frame with stops it
|
||||
// [frame] - The new current frame
|
||||
void GotoAndStop(int frame);
|
||||
|
||||
// Changes the animation sequence and frame with stops it
|
||||
// [sequence] - The new sequence
|
||||
// [frame] - The new current frame
|
||||
void GotoAndStop(string sequence, int frame);
|
||||
|
||||
// Changes the animation frame with plays it
|
||||
// [frame] - The new current frame
|
||||
void GotoAndPlay(int frame);
|
||||
|
||||
// Changes the animation sequence and frame with plays it
|
||||
// [sequence] - The new sequence
|
||||
// [frame] - The new current frame
|
||||
void GotoAndPlay(string sequence, int frame);
|
||||
|
||||
// Stop with specified rewind action
|
||||
// [rewind] - If set to [true] rewind animation to begin frame
|
||||
void Stop(bool rewind);
|
||||
|
||||
// Changes the animation sequence and stop controller with rewind
|
||||
// [sequence] - The new sequence
|
||||
void Stop(string sequence);
|
||||
|
||||
// Play with specified rewind action
|
||||
// [rewind] - If set to [true] rewind animation to begin frame
|
||||
void Play(bool rewind);
|
||||
|
||||
// Changes the animation sequence and play controller with rewind
|
||||
// [sequence] - The new sequence
|
||||
void Play(string sequence);
|
||||
|
||||
// Rewind animation to begin frame
|
||||
void Rewind();
|
||||
```
|
||||
|
||||
## SwfManager
|
||||
|
||||
```csharp
|
||||
// Get cached manager instance from scene or create it (if allowed)
|
||||
// [allow_create] - If set to [true] allow create
|
||||
static SwfManager GetInstance(bool allow_create);
|
||||
```
|
||||
|
||||
```csharp
|
||||
// Get animation clip count on scene
|
||||
// [value] - Clip count
|
||||
int clipCount { get; }
|
||||
|
||||
// Get animation clip controller count on scene
|
||||
// [value] - Clip controller count
|
||||
int controllerCount { get; }
|
||||
|
||||
// Get or set a value indicating whether animation updates is paused
|
||||
// [value] - [true] if is paused; otherwise, [false]
|
||||
bool isPaused { get; set; }
|
||||
|
||||
// Get or set a value indicating whether animation updates is playing
|
||||
// [value] - [true] if is playing; otherwise, [false]
|
||||
bool isPlaying { get; set; }
|
||||
|
||||
// Get or set a value indicating whether animation updates uses unscaled delta time
|
||||
// [value] - [true] if uses unscaled delta time; otherwise, [false]
|
||||
bool useUnscaledDt { get; set; }
|
||||
|
||||
// Get or set the global animation rate scale
|
||||
// [value] - Global rate scale
|
||||
float rateScale { get; set; }
|
||||
```
|
||||
|
||||
```csharp
|
||||
// Pause animation updates
|
||||
void Pause();
|
||||
|
||||
// Resume animation updates
|
||||
void Resume();
|
||||
|
||||
// Pause the group of animations by name
|
||||
// [group_name] - Group name
|
||||
void PauseGroup(string group_name);
|
||||
|
||||
// Resume the group of animations by name
|
||||
// [group_name] - Group name
|
||||
void ResumeGroup(string group_name);
|
||||
|
||||
// Determines whether group of animations is paused
|
||||
// [returns] - [true] if group is paused; otherwise, [false]
|
||||
// [group_name] - Group name
|
||||
bool IsGroupPaused(string group_name);
|
||||
|
||||
// Determines whether group of animations is playing
|
||||
// [returns] - [true] if group is playing; otherwise, [false]
|
||||
// [group_name] - Group name
|
||||
bool IsGroupPlaying(string group_name);
|
||||
|
||||
// Set the group of animations use unscaled delta time
|
||||
// [group_name] - Group name
|
||||
// [yesno] - [true] if group will use unscaled delta time; otherwise, [false]
|
||||
void SetGroupUseUnscaledDt(string group_name, bool yesno);
|
||||
|
||||
// Determines whether group of animations uses unscaled delta time
|
||||
// [returns] - [true] if group uses unscaled delta time; otherwise, [false]
|
||||
// [group_name] - Group name
|
||||
bool IsGroupUseUnscaledDt(string group_name);
|
||||
|
||||
// Set the group of animations rate scale
|
||||
// [group_name] - Group name
|
||||
// [rate_scale] - Rate scale
|
||||
void SetGroupRateScale(string group_name, float rate_scale);
|
||||
|
||||
// Get the group of animations rate scale
|
||||
// [returns] - The group rate scale
|
||||
// [group_name] - Group name
|
||||
float GetGroupRateScale(string group_name);
|
||||
```
|
||||
@@ -1,42 +1,42 @@
|
||||
###### Version 1.3.18
|
||||
### Version 1.3.18
|
||||
* Fix frameCount working before Start
|
||||
* Fix preview in Unity 2021
|
||||
|
||||
###### Version 1.3.17
|
||||
### Version 1.3.17
|
||||
* Fix 2019 warnings
|
||||
* Force swf asset binary serialization
|
||||
|
||||
###### Version 1.3.16
|
||||
### Version 1.3.16
|
||||
* Minor promo fixes
|
||||
|
||||
###### Version 1.3.15
|
||||
### Version 1.3.15
|
||||
* Add optional bitmap trimming
|
||||
* Fix preview leaks in the Editor mode
|
||||
* Add warning notes about outdated assets
|
||||
* Add log message about successfully converting
|
||||
|
||||
###### Version 1.3.14
|
||||
### Version 1.3.14
|
||||
* Fix 2018.3.2f1 compilation
|
||||
|
||||
###### Version 1.3.13
|
||||
### Version 1.3.13
|
||||
* Fix preview shutdown warning
|
||||
|
||||
###### Version 1.3.12
|
||||
### Version 1.3.12
|
||||
* Upgrade to minimal LTS version
|
||||
* Fix anchor frame label detector
|
||||
* More readable conversion warnings
|
||||
|
||||
###### Version 1.3.11
|
||||
### Version 1.3.11
|
||||
* Fix trial version in Unity 2017
|
||||
* Fix warnings in Unity 2017
|
||||
* Fix possible mesh leak after scene switch
|
||||
|
||||
###### Version 1.3.10
|
||||
### Version 1.3.10
|
||||
* Fix (conversion error: 'Error: scaleSelection: Argument number 1 is invalid.')
|
||||
* Fix (Parsing swf error: Failed to read past end of stream)
|
||||
* Fix rasterization error with vector graphics in buttons
|
||||
|
||||
###### Version 1.3.9
|
||||
### Version 1.3.9
|
||||
* Not save generated meshes in scene
|
||||
* Fix (At line 908 of file "FTMain.jsfl": ReferenceError: ft is not defined)
|
||||
* Fix warning on add missing components
|
||||
@@ -44,7 +44,7 @@
|
||||
* Replace shader "if" instruction to "step"
|
||||
* Replace mask shader "if + discard" instruction to "clip"
|
||||
|
||||
###### Version 1.3.8
|
||||
### Version 1.3.8
|
||||
* Fix shape groups in tweens problems
|
||||
* Fix drawing object shape problems
|
||||
* Fix locked elements problem
|
||||
@@ -58,74 +58,74 @@
|
||||
* Remove excess "if" instruction from shaders
|
||||
* Remove excess animation reimports
|
||||
|
||||
###### Version 1.3.7
|
||||
### Version 1.3.7
|
||||
* Fix multiple import
|
||||
* Fix single frame optimization
|
||||
|
||||
###### Version 1.3.6
|
||||
### Version 1.3.6
|
||||
* Fix for scale very small vector items
|
||||
* Big vector item optimization
|
||||
* More yield instructions and extensions
|
||||
|
||||
###### Version 1.3.5
|
||||
### Version 1.3.5
|
||||
* Fix sprite import problem
|
||||
|
||||
###### Version 1.3.4
|
||||
### Version 1.3.4
|
||||
* Fix CS6 export problem
|
||||
* Fix unity postprocessor problems
|
||||
|
||||
###### Version 1.3.3
|
||||
### Version 1.3.3
|
||||
* Fix undefined unusedItems in CS6
|
||||
|
||||
###### Version 1.3.2
|
||||
### Version 1.3.2
|
||||
* Fix bug custom scale export with small items optimization
|
||||
|
||||
###### Version 1.3.1
|
||||
### Version 1.3.1
|
||||
* Fix some Unity 5.5 deprecated functions
|
||||
|
||||
###### Version 1.3.0
|
||||
### Version 1.3.0
|
||||
* ETC separated alpha support
|
||||
* Export animations with custom scale (for retina)
|
||||
* New small vector scaled items optimization
|
||||
|
||||
###### Version 1.2.0
|
||||
### Version 1.2.0
|
||||
* Add Yield instructions for wait in coroutines(SwfWaitPlayStopped, SwfWaitRewindPlaying, SwfWaitStopPlaying)
|
||||
* Add unscaled delta time support(for separate animations, groups of animations or for all)
|
||||
* Fix guide type flash layers
|
||||
* Some fixes for reconvert asset problem
|
||||
|
||||
###### Version 1.1.1
|
||||
### Version 1.1.1
|
||||
* Add conversion error by shape tween in CS6
|
||||
* Fix life after death (problem about destroying with big lag by frame event)
|
||||
|
||||
###### Version 1.1.0
|
||||
### Version 1.1.0
|
||||
* Sequence separator is anchor frame label (not common frame label)
|
||||
* SwfClip access to frame labels (currentLabelCount, GetCurrentFrameLabel)
|
||||
* SwfClip events (OnChangeClipEvent, OnChangeSequenceEvent, OnChangeCurrentFrameEvent)
|
||||
|
||||
###### Version 1.0.0
|
||||
### Version 1.0.0
|
||||
* Initial asset store version
|
||||
* Sources to dll
|
||||
* Palette bitmaps support
|
||||
|
||||
###### Version 0.5.0
|
||||
### Version 0.5.0
|
||||
* Flash optimizer twicks
|
||||
* Blending modes (except Alpha and Erase)
|
||||
|
||||
###### Version 0.4.0
|
||||
### Version 0.4.0
|
||||
* Clip groups
|
||||
* Fix move assets bug
|
||||
* Tint color for clips
|
||||
* Animation API improvements
|
||||
|
||||
###### Version 0.3.0
|
||||
### Version 0.3.0
|
||||
* Preview for animation assets and clips
|
||||
* Animation API improvements
|
||||
* Memory optimizations
|
||||
|
||||
###### Version 0.2.0
|
||||
### Version 0.2.0
|
||||
* Export optimizations
|
||||
* Export clips with export names
|
||||
|
||||
###### Version 0.1.0
|
||||
### Version 0.1.0
|
||||
* Initial alpha version
|
||||
|
||||
29
Assets/FlashTools/Docs/GUIDE.md
Normal file
@@ -0,0 +1,29 @@
|
||||
Open your flash animation in Adobe Flash (CS6 or above).
|
||||

|
||||
|
||||
Click the right button on movie clip which you want to export besides main timeline and go to the Properties.
|
||||

|
||||
|
||||
Choose "Export for ActionScript" and set name for clip in "Class" field.
|
||||

|
||||
|
||||
You can add **anchor** frame labels to separate timeline to different named sequences.
|
||||

|
||||
|
||||
Run export script (_FlashTools/FlashExport/FlashExport.jsfl_) for your flash animation. The script optimizes an animation, rasterizes vector graphics and export .swf file which is compatible with the toolset.
|
||||

|
||||

|
||||
|
||||
Move exported .swf file to your unity project (You may find this .swf file at _export folder next to .fla file).
|
||||

|
||||
|
||||
.swf file will be automatically converted to unity asset with proper settings. Open them to change texture packing settings (by default it uses settings from _"FlashTools/Resources/SwfSettings"_).
|
||||

|
||||
|
||||
Now you can select exported clip and add it to scene or create a prefab.
|
||||

|
||||
|
||||
In instance properties you can change any settings like a sorting layer, play mode, current frame and etc.
|
||||

|
||||
|
||||
Enjoy!
|
||||
BIN
Assets/FlashTools/Docs/Images/user-guide-1.png
Normal file
|
After Width: | Height: | Size: 489 KiB |
BIN
Assets/FlashTools/Docs/Images/user-guide-10.png
Normal file
|
After Width: | Height: | Size: 256 KiB |
BIN
Assets/FlashTools/Docs/Images/user-guide-2.png
Normal file
|
After Width: | Height: | Size: 373 KiB |
BIN
Assets/FlashTools/Docs/Images/user-guide-3.png
Normal file
|
After Width: | Height: | Size: 616 KiB |
BIN
Assets/FlashTools/Docs/Images/user-guide-4.png
Normal file
|
After Width: | Height: | Size: 541 KiB |
BIN
Assets/FlashTools/Docs/Images/user-guide-5.png
Normal file
|
After Width: | Height: | Size: 155 KiB |
BIN
Assets/FlashTools/Docs/Images/user-guide-6.png
Normal file
|
After Width: | Height: | Size: 388 KiB |
BIN
Assets/FlashTools/Docs/Images/user-guide-7.png
Normal file
|
After Width: | Height: | Size: 211 KiB |
BIN
Assets/FlashTools/Docs/Images/user-guide-8.png
Normal file
|
After Width: | Height: | Size: 194 KiB |
BIN
Assets/FlashTools/Docs/Images/user-guide-9.png
Normal file
|
After Width: | Height: | Size: 207 KiB |
21
LICENSE.md
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (C) 2016-2022, by Matvey Cherevko (blackmatov@gmail.com)
|
||||
|
||||
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.
|
||||
46
README.md
Normal file
@@ -0,0 +1,46 @@
|
||||

|
||||
|
||||
# Flash Animation Toolset
|
||||
|
||||
> Convert your flash animation for Unity easy!
|
||||
|
||||
[Trial Version](https://assetstore.unity.com/packages/tools/animation/flash-animation-toolset-trial-73896) |
|
||||
[Full Version](https://assetstore.unity.com/packages/tools/animation/flash-animation-toolset-73323) |
|
||||
[Forum](https://forum.unity.com/threads/1-3-15-flash-animation-toolset.440085) |
|
||||
[Web Demo](.github/demo) |
|
||||
[User Guide](Assets/FlashTools/Docs/GUIDE.md) |
|
||||
[API Reference](Assets/FlashTools/Docs/API.md) |
|
||||
[Changelog](Assets/FlashTools/Docs/CHANGELOG.md)
|
||||
|
||||
## Features
|
||||
|
||||
- Support all transformations like 'rotation', 'skew' and 'scale' (except 3D)
|
||||
- Support all tweens(classic, motion and etc), keyframes and layers
|
||||
- Support mask layers
|
||||
- Support bitmap and vector graphics
|
||||
- Support all clip color effects like 'brightness', 'tint', 'alpha' and etc
|
||||
- Support most blending modes (all except Alpha and Erase)
|
||||
- Simple runtime API for controlling your animations in Unity
|
||||
- Automatic packing texture atlases of animations with different settings
|
||||
- Great performance with zero allocations in update loop
|
||||
- Frame labels to separate sequences in one timeline
|
||||
- Export marked "for export" clips and main timeline
|
||||
- Live preview of animations in the Unity editor
|
||||
|
||||
Supports Unity 2017.4 (LTS) and newer, both Personal and Pro. Full C# source code included.
|
||||
|
||||
Leave your rating for this Asset. It is very important for me and the development of the project :) Thank you!
|
||||
|
||||
## Usage video
|
||||
|
||||
<iframe width="520" height="360" src="https://www.youtube.com/embed/uE_XRWZ5KHA" frameborder="0" allowfullscreen></iframe>
|
||||
|
||||
## Screenshots
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
## [License (MIT)](./LICENSE.md)
|
||||
|
||||
Samples use "Creative Commons CC0 1.0 Universal License" animations from [Glitch game](http://www.glitchthegame.com/public-domain-game-art)
|
||||