flask开发_flask web开发 - CSDN
精华内容
参与话题
  • Flash开发环境简介

    2014-12-02 09:44:59
    开发基于时间轴的flash的理想工具当然是Adobe的Flash系列,包括Flash 8,Flash MX2004,Flash CS3,Flash CS4等。其中除了CS3和CS4外,其他的版本均不支持AS3,因此,想要使用AS3开发flash应用,必须使用CS3以上版本...

    目前的Flash制作中,除了基于时间轴的动画外,使用AS脚本开发的应用越来越多。开发基于时间轴的flash的理想工具当然是Adobe的Flash系列,包括Flash 8,Flash MX2004,Flash CS3,Flash CS4等。其中除了CS3和CS4外,其他的版本均不支持AS3,因此,想要使用AS3开发flash应用,必须使用CS3以上版本。具体的如何使用CS3开发基于时间轴的flash动画在此不介绍,网上有很多的教程。在此我们简单介绍一下使用AS3脚本开发Flash应用的几个IDE。

    Flash CS3 /CS4

      Flash cs3/cs4 是不错的flash工具。但笔者认为不论Flash cs3还是Flash CS4,在单纯的AS脚本编写方面,与其他语言的开发工具(如Eclipse、Netbeans等)相比,仍然存在不小的差距。Flash cs3不支持代码重构,代码定位等功能,在编写代码方面不是十分方便。但是Flash CS3/CS4对时间轴动画的支持是其他纯AS工具无法比拟的。

    Flex Builder

      Flex builder 是Adobe推出的开发Flex的工具,它是基于Eclipse的开发工具,如果你是Eclipse的拥护者的话,那么恭喜你,你可以在Flash开发当中享受Eclipse的所有优点,包括代码重构,代码提示,代码着色等许多功能。但是Flex builder 可不像Eclipse那样无私,它是收费的,当然如果你使用网上的序列号或注册机之类的那就另当别论了。

      官方下载地址:http://www.adobe.com/cn/products/flashbuilder/

    FDT3

      FDT与上面的Flex builder一样也是用于Flex开发的,当然也能用来开发Flash啦,不过人家与Flex builder不同的是,它完全是一个基于Eclipse的插件(Flex builder除了插件版本外还有一个完全安装版本)。功能方面同样可以使用Eclipse的强大功能。当然它同Flex builder一样也是身价不菲的啦。更多信息可以访问http://fdt.powerflasher.com/

    Flash Develop

      与上面介绍的工具不同的是,这款是用C#实现的完全开源的IDE,相比Flash cs3,它有很多CS3/CS4没有的功能。它还可以用来开发PHP,XML等。不过它的安装比较繁琐,需要Flex SDK ,JRE,dot net framework 2.0等依赖软件。很麻烦。

      具体参考:http://www.flashdevelop.org/community/index.php

    展开全文
  • Hello,AS3!!(Flash开发环境搭建)

    万次阅读 2014-09-23 10:28:23
    ActionScript 开发环境搭建 发表于 2013 年 6 月 14 日 1. 安装 Flex SDK 选择 Adobe Flex SDK 下载, 并解压到任何你愿意放置程序的目录中. 下载地址 2. 安装 JRE/JDK 下载并安装 JRE 或者 ...

    一、ActionScript 开发环境搭建(转载)

    1. 安装 Flex SDK
    选择 Adobe Flex SDK 下载, 并解压到任何你愿意放置程序的目录中.
    下载地址

    2. 安装 JRE/JDK
    下载并安装 JRE 或者 JDK, 要求 1.6 或以上版本.
    下载地址

    3. 安装 Flash player Debug
    选择 Projector content debugger 下载, 并解压到任何你愿意放置程序的目录中.
    下载地址

    4. 安装 FlashDevelop(开发工具)
    下载并安装 FlashDevelop, 程序依赖 .NET Framework 2.0.
    下载地址

    5. 配置 FlashDevelop
    5.1 进入 Tools -> Programe Settings, 在 AS3Context 下将 Installed Flex SDKs设置为第 1 步中的程序存放目录.
    5.2 在 FlashViewer 下将 External player Path 设置为第 3 步中的程序存放目录.

    6. 新建项目
    选择 Project -> New Project…, 选择 AS3 Project, 选项填写如下:
    Name: HelloWorld
    Location: (任何你愿意放置该项目的目录)
    Pagckage: (留空)
    Create directory for project: (选中)

    7. 编写代码
    点开 src 目录, 双击打开 Main.as 文件, 修改代码如下:

    package 
    {
    	import flash.display.Sprite;
    	import flash.events.Event;
    	
    	/**
    	 * ...
    	 * @author lzc
    	 */
    	public class Main extends Sprite 
    	{
    		
    		public function Main():void 
    		{
    			if (stage) init();
    			else addEventListener(Event.ADDED_TO_STAGE, init);
    			
    			trace("Hello AS3!!");
    		}
    		
    		private function init(e:Event = null):void 
    		{
    			removeEventListener(Event.ADDED_TO_STAGE, init);
    			// entry point
    		}
    		
    	}
    	
    }


    8. 修改项目选项
    选择 Project -> Properties…, 将 Test Project 修改为 Play in external player, 否则看不到 trace 输出.

    9. 编译运行
    请勇敢地按下 Ctrl + Enter.

    二、运行第一个程序常见错误

    1、flashdevelop Build halted with errors (fcsh).解决方案

    解决办法:

    右击项目--》打开【属性】--》编译器选项-->高级-->Additional Compiler Options 点击它右边的输入框中的小按钮-->在弹出框输入下面的字符

    -static-link-runtime-shared-libraries=true

    2、Unable to start java.exe: 系统找不到指定的文件。

    解决方法:

    1、下载JRE环境安装,并记录下安装位置,如:C:\Program Files\Java\jre6
    2、在Flex SDK所在目录Flex4.0.0\bin\找到jvm.config文件。
    3、找到 java.home= 这一行 改为 java.home=C:\Program Files\Java\jre6  具体按照你本机java环境安装路径填写,保存jvm.config文件。
    4、重启FlashDevelop,问题解决



    展开全文
  • Flash开发工具——FlashDevelope

    千次阅读 2009-07-08 10:12:00
    FlashDevelope是一款将开放源代码面向Flash/ActionScript开发的IDE。FlashDevelope本身采用.NET开发而成,可以运行在Windows环境下。FlashDevelope除了支持ActionScript2/3外,还支持HTML、JavaScript、CSS等高亮、...

    FlashDevelope是一款将开放源代码面向Flash/ActionScript开发的IDE。
    FlashDevelope本身采用.NET开发而成,可以运行在Windows环境下。

    FlashDevelope除了支持ActionScript2/3外,还支持HTML、JavaScript、CSS等高亮、代码自动补全、IDE环境下的Debug功能。

     

    FlashDevelope主页

    展开全文
  • 一次实践中总结的对flash、starling、feathers、starling MVC等现有flash开发库的理解。

    说在前头:楼主之前没有任何flash开发经验,只是从一次尝试中总结自己的理解和经验而已。如果有写的不对的地方,欢迎大家指正。


    前一段时间尝试想用flash(as3)重新制作一下之前做的一个游戏,作为从来没有接触过flash开发的我来说,花了一些时间研究现有的一些框架。虽然现在我已经放弃了使用flash来开发(后面会说原因),但我觉得还是有必要总结一下这个过程中对于flash、starling、starling mvc的一些理解。


    因为一开始我是使用silverlight开发游戏的,它有一个极大的便利是微软提供了强大好用的Microsoft Blend Expression。可以很好的、所见即所得用它来制作UI。自然而然,我很想在flash的开发环境下找一个替代品。但很遗憾,最后我自己得出的结论是:没有。


    1、flex和blend有点像,但flex(后来叫flash builder)貌似某个版本以后就不提供图形编辑器了。并且通过网上大家的讨论得出,flex性能特别差,几乎无法在手机上运行。果断弃坑。

    2、flash cs可以制作游戏UI,但给我的感觉是提供的功能特别基础,也不甚符合程序员的逻辑思维。

    3、还有一些其他的第三方或者个人提供的UI库、编辑工具,如flexlite等——不敢用,怕有大坑。而且翻了一下代码更新日志,也是好久都没动过了——更加怕。

    4、starling貌似是大家比较推崇的flash移动端解决方案,大概看了一下,从原理上来说肯定是性能比传统的flash要好得多。


    通过一番调研,决定用starling试试。


    很自然的,游戏需要比较好的扩展性的话,我们需要一个好的代码框架,找了一圈找到starling MVC。大概看了一下功能介绍,感觉和j2ee的spring MVC有一点像。


    starling MVC是一个IOC框架,提供以下特性:


    • 依赖注入(DI)/控制反转(IOC)
    • 视图仲裁(View Mediation)
    • 事件处理
    • 不影响原生的Starling游戏代码
    • 简易配置
    • 易扩展
    • 提供一些实用工具
    我翻译了一部分它的介绍,有兴趣的同学可以看我的github上的starling MVC的一个branch:(https://github.com/chenggong-china/starlingMVC)

    我到网上翻了一些关于starling MVC编写的游戏例程,怎么说呢,我感觉是没一个靠谱的。。大部分人都是浅尝辄止,而且都是生搬硬套。想把游戏逻辑拼命的塞到starling MVC中,而不是真正的用它来做代码的整理、规划,没有理解MVC、IOC、DI等思想,于是我索性自己开始琢磨。


    我整理的starling MVC的调用逻辑关系如下:


    1、启动时初始化各个bean(包括model、mediator、controller、view我认为都应该实例化为bean)

    2、starling MVC提供方法将bean依赖注入([Inject]等标签)

    3、MVC的连接方式为:

    • controller中注册EventHandler,接收消息。然后直接调用ViewManager的addView/removeView方法,来修改元素。
    • 调用了addView/removeView实际上会被相关的Mediator拦截到,在Mediator中编写界面展示的逻辑。(调用view的修改方法,调用Model的逻辑)
    • Model中提供业务逻辑方法
    • View中定义界面元素
    实际上是把传统的MVC中的“C”分成了两个部分:controller和mediator,controller负责消息接收和路由、mediator负责衔接M和C


    开发过程中逻辑还是比较顺畅的,不过后来我一直没去搞清楚比如要实现场景切换的过渡特效,在starling MVC中怎么实现……因为每次都是直接addView、removeView,木有一个中间状态啊。不过还没等我去研究,我就弃坑了……呵呵呵呵呵呵……

    另外提一下starling feathers这个东东。

    starling没有可视化的UI开发工具(拖界面的工具),那么意味着你需要手动在代码里去写x、y坐标,写width、height等属性(我了个擦,坑爹啊!)——当然,如果你说你可以自己开发一个可视化的工具,那么,我只能说:祝你好运……

    OK,那么我先硬着头皮写一下用代码来布局的UI吧……

    			var stateBackground : ImageLoader = new ImageLoader();
    			stateBackground.source = assets.getTexture("nick");
    			stateBackground.x = 0;
    			stateBackground.y = -12;
    			stateBackground.width = 200;
    			stateBackground.height = 70;
    			stateCanvas.addChild(stateBackground);
    			
    			_nickLabel = ComponentFactory.getSmallFontLabel("初出茅庐", 0xEF5E00, true, 20);
    			_nickLabel.x = 62;
    			_nickLabel.y = -4;
    			stateCanvas.addChild(_nickLabel);
    			
    			_gameModeLabel = ComponentFactory.getSmallFontLabel("难度:普通", 0xFFFFFF, true, 12);
    			_gameModeLabel.x = 61;
    			_gameModeLabel.y = 24;
    			stateCanvas.addChild(_gameModeLabel);
    			
    			_zhujueHead = new ImageLoader();
    			_zhujueHead.x = 4;
    			_zhujueHead.y = -4;
    			_zhujueHead.width = 40;
    			_zhujueHead.height = 49;
    			_zhujueHead.source = assets.getTexture("zhujue");
    			stateCanvas.addChild(_zhujueHead);	
    			
    			_descCanvas = new Sprite();
    			_descCanvas.x = 100;
    			_descCanvas.y = 100;
    			_descCanvas.visible = false;
    			this.addChild(_descCanvas);
    			
    			//提示框
    			var descBackground : Scale9Image = ComponentFactory.getScale9Image("info", new Rectangle(7,9,360,87));
    			descBackground.x = 0;
    			descBackground.y = 0;
    			descBackground.width = 377;
    			descBackground.height = 103;
    			descBackground.alpha = 0.8;
    			_descCanvas.addChild(descBackground);
    			
    			_descImage = new ImageLoader();
    			_descImage.x = 14;
    			_descImage.y = 14;
    			_descImage.width = 80;
    			_descImage.height = 80;
    			_descImage.maintainAspectRatio = false;
    			_descCanvas.addChild(_descImage);
    			
    			_descLocationLabel = ComponentFactory.getSmallFontLabel("", 0xffffff, true, 18);
    			_descLocationLabel.x = 104;
    			_descLocationLabel.y = 6;
    			_descLocationLabel.filter = BlurFilter.createDropShadow(4,0.7,0x000000,0.8,0.5,1);
    			_descCanvas.addChild(_descLocationLabel);
    			
    			_descInfoLabel =  ComponentFactory.getSmallFontLabel("", 0xffffff, false, 12);
    			_descInfoLabel.x = 104;
    			_descInfoLabel.y = 40;
    			_descInfoLabel.width = 250;
    			_descInfoLabel.height = 56;
    			_descInfoLabel.filter = BlurFilter.createDropShadow(2,0.7,0x000000,0.8,0.5,1);
    			_descCanvas.addChild(_descInfoLabel);
    		


    上面这一段截取于我刚开始写的一个布局view,实在是蛋疼至极有木有!!!
    于是楼主愤怒的自己写了一个布局基类,可以实现成下面这样的写法了……

    this.initComponents([
    				{type:Scale9Image, source:"UI-kuang", rect:new Rectangle(15,40,315,328), width:500, height:585},
    				{type:RoleUI, id:"roleUI", x:80, id:"roleUI"},
    				{type:Label, text:"当前队伍", color:0xffffff, fontSize:14, width:110, x:25, y:73},
    				{type:ScrollContainer, width:80, height:435, x:25, y:108, id:"teamlist" },
    				{type:ImageLoader, source:"back", width:20, height:20, x:470, y:5, id:"close"},
    			]);

    自己感觉好多了……但还是很蛋疼有木有

    这里奉上基类BaseUI,有兴趣拿走~

    package cn.hanjiasongshu.jygame.views.components
    {
    	import com.creativebottle.starlingmvc.views.ViewManager;
    	
    	import flash.geom.Rectangle;
    	import flash.utils.Dictionary;
    	
    	import cn.hanjiasongshu.jygame.core.assets.Assets;
    	import cn.hanjiasongshu.jygame.views.factorys.ComponentFactory;
    	
    	import feathers.controls.ImageLoader;
    	import feathers.controls.Label;
    	import feathers.controls.ScrollContainer;
    	import feathers.core.FeathersControl;
    	import feathers.display.Scale9Image;
    	import feathers.textures.Scale9Textures;
    	import feathers.dragDrop.DragDropManager;
    	
    	import starling.display.Sprite;
    	import starling.textures.Texture;
    
    	/**
    	 * UI基类
    	 * @author cg
    	 * 
    	 */
    	public class BaseUI extends FeathersControl
    	{
    		private static const ANONYMOUS_PREFIX:String = "__";
    		
    		public function BaseUI()
    		{
    			_components = new Dictionary();
    			_autoId = 0;
    		}
    		
    		public function get assets():Assets
    		{
    			return Assets.instance;
    		}
    		
    		/**
    		 * 初始化组件 
    		 * @param componentsArray
    		 * 
    		 */
    		protected function initComponents(componentsArray:Object):void
    		{
    			this.addComponents(componentsArray, this);
    		}
    		
    		/**
    		 * 为一个组件添加孩子 
    		 * @param componentsArray
    		 * @param parent
    		 * 
    		 */
    		private function addComponents(componentsArray:Object, parent:Sprite):void
    		{
    			for each(var c:Object in componentsArray)
    			{
    				if(c.type == null)
    				{
    					trace("[error]undefined component type:" + c);
    					continue;
    				}
    				var type:String = c.type;
    				var id:String = "";
    				if(c.id != null)
    				{
    					id = c.id;
    				}
    				else
    				{
    					id = String(ANONYMOUS_PREFIX + _autoId + ":" + String(c.type));
    					_autoId++;
    				}
    				var component:Sprite = null;
    				switch(c.type)
    				{
    					case Label:
    						var text:String = c.text==null?"":c.text;
    						var color:int = c.color==null?0:c.color;
    						var bold:Boolean = c.bold==null?true:c.bold;
    						var fontSize:int = c.fontSize==null?11:c.fontSize;
    						
    						if(c.align != null && c.align == "center")
    						{
    							component = ComponentFactory.getCenterAlignedFontLabel(text,color,bold,fontSize);
    						}
    						else
    						{
    							component = ComponentFactory.getSmallFontLabel(text,color,bold,fontSize);
    						}
    						break;
    					case ImageLoader:
    						var tmp:ImageLoader = new ImageLoader();
    						tmp.maintainAspectRatio = false;
    						var source:String = c.source==null?"":c.source;
    						tmp.source = c.source==null?"":assets.getTexture(source);
    						component = tmp;
    						break;
    					case Scale9Image:
    						component = ComponentFactory.getScale9Image(c.source, c.rect);
    						break;
    					case ScrollContainer:
    						component = ComponentFactory.generateVerticalScrollContainer(c.layout, c.backgroundSkin);
    						break;
    					case ToolTipUI:
    						component = new ToolTipUI(parent);
    						break;
    					default:
    						var clz:Class = c.type;
    						var instance:Object = new clz();
    						if(instance is Sprite)
    						{
    							component = instance as Sprite;
    						}
    						else
    						{
    							trace("[error]invalid component type:" + c.type);
    						}
    						break;
    				}
    				if(component != null)
    				{
    					this.setIfExist(c, component, ["x","y","width","height","visible"]);
    					_components[id] = component;
    					parent.addChild(component);
    					if(c.children != null) //遍历孩子组件
    					{
    						this.addComponents(c.children, component);
    					}
    				}
    			}
    		}
    		
    		/**
    		 * 通过ID获取组件 
    		 * @param id
    		 * @return 
    		 * 
    		 */
    		public function getComponentById(id:String):Sprite
    		{
    			if(_components[id] == null)
    			{
    				trace("[error]get undefined component id:"+id);
    				return null;
    			}
    			return _components[id];
    		}
    		
    		public function getLabel(id:String):Label
    		{
    			return this.getComponentById(id) as Label;
    		}
    		
    		public function getImageLoader(id:String):ImageLoader
    		{
    			return this.getComponentById(id) as ImageLoader;
    		}
    		
    		private function setIfExist(dataSource:Object, obj:Sprite, params:Array):void
    		{
    			for each(var p:String in params)
    			{
    				if(dataSource[p]!=null)
    					obj[p]=dataSource[p];
    			}
    		}
    		
    		private var _components:Dictionary;
    		private var _autoId:int;
    		public override function dispose():void
    		{
    			for each(var key:String in _components)
    			{
    				var sprite:Sprite = _components[key] as Sprite;
    				sprite.removeFromParent(true);
    			}
    			_components = null;
    		}
    	}
    }

    你可以修改addComponent函数来自己添加控件类型,支持控件的组合等等。


    啰啰嗦嗦说了这么多,发几个最终做出来的效果的图吧……还是很丑……






    算是写了一些代码,但越做越不对头,因为UI这东西还真不是写写控件布局就能做好的,没有一个很好的可视化的编辑工具,我也越来越力不从心。
    之后出于多方考虑,还是弃坑投入了unity3d的怀抱。

    最后总结一下吧:

    1、用starling这一系列东西开发的过程中到是没遇到太多框架性的BUG,已有的特性和功能都可以用。
    2、starling等提供的功能还是比较原始,我觉得用来开发小游戏可能还不错,规模稍微大一点,就需要好好考量了。
    3、PC上性能还OK,但最后貌似我也没上手机真机调试,这个我没有发言权。
    4、as3还是比较灵活,写代码也有挺爽快的感觉,给我留下的印象仅次于c#。如果以后有机会开发flash游戏,我还是挺乐观的。
    5、Adobe对于这块的投入貌似很萎缩,flash开发者们以及社区都不够繁荣。
    6、开发手机游戏的话,还是用专业的引擎吧。

    展开全文
  • C#与 Flash 程序开发

    千次阅读 2009-05-06 11:37:00
    可以尝试以下关键字进行搜索查找其他资料关键字(C#, FLASH, winform,flash嵌入C# ,FLASH 开发UI界面 )要在c# winform程序里嵌入FLASH,其实就是直接引用Flash的ocx控件。那你就需要使用“COM 组件” Shockwave...
  • flash与web开发语言的交互

    千次阅读 2010-09-13 08:58:00
    flash与web开发语言的交互 <br />我 们知道flash的交互性是很强大的,而且可以做出非常漂亮的效果.同时我们也看到有些网站是全flash的,并且不仅是界面,连显示的数据都是动态生成 的,也就是说flash可以与后端的...
  • 招聘页游flash开发人员,苏州

    千次阅读 2013-12-09 19:38:10
    招聘页游flash开发人员,苏州
  • 1 搭建Flash游戏开发环境

    千次阅读 2011-08-30 17:29:53
    搭建Flash游戏开发环境   1 安装Flash CS3(或CS4、CS5)。 2 安装FlashDevelop,具体方法参照:搭建Web3D开发环境。   其实完全可以在Flash开发游戏,为什么需要2者呢?原因如下: 1 Flash发布的时候可以...
  • Adobe Flash Builder 4.6 开发环境详解

    千次阅读 2016-08-19 11:56:36
    下面详解Adobe Flash Builder 4.6 开发环境; 欢迎页; 由此图可以看到, Flex已经发布了4.12版本;Flash Player 发布了11.2,AIR发布了3.2;这是以前的; 从资源下的提示可知,可以5分钟构建一个移动app; ...
  • web开发网页嵌入flash

    千次阅读 2015-07-25 15:59:54
    最开始加入了flash,其他浏览器都可以,唯独IE不行,现在又添加了IE支持,代码如下: <object id="FlashID1" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"> ...
  • 2.2.1 SWF自适应布局技巧---(Rapid Flash Development)快速Flash开发 by emilmatthew最后更新:29/12/08当我们开发全站式Flash应用时,希望呈现一个铺满浏览器屏幕的Flash.铺满浏览器屏幕的Flash可以通过设置引用...
  • 今天对于全球的Flash开发者来说是黑暗的一天,因为Adobe宣布将不再对移动设备上的浏览器进行Flash技术支持。在这之前,Adobe刚刚宣布了公司范围内的大幅度裁员。尽管这似乎并不是什么严重的问题,但是这却又使...
  • Flash:用Flash开发游戏非常简单。因为关于它有无数的书籍,网站,教程,框架,视频和源代码。对于开发工具来说,Flex route是免费的,Flash IDE需要付费。Flash拥有通用且强大的矢量渲染功能,这意味这你创建的...
  • Flash开发利器IntelliJ IDEA - 安装

    千次阅读 2010-12-19 16:31:00
    1、下载: 下载地址:http://www.jetbrains.com/idea/download/index.htm<br /><br /> 2、Flex环境配置 点击 File -> Project Structure (或按快捷键Ctrl+Alt+Shift+S):... ... : <br /> ...3、
  • FlashIDE+AirSDK,Window开发环境搭建

    千次阅读 2017-12-08 07:54:57
    FlashIDE+AirSDK,Window开发环境搭建Windows10+FlashCS6+AirSDK+JavaJDK,步骤如下: 安装JavaJDK,配置系统环境变量 测试Java是否安装正确 安装FlashIDE,建议CS5.5以上版本(自带AirSDK版本) 下载稳定的Air SDK...
  • Flash开发之z-index

    千次阅读 2011-05-16 08:32:00
    1、在嵌入flash时,设置flash的wmode参数为opaque 2、在嵌入flash时,设置flash的wmode参数为transparent 对应的IE和FireFox的代码如下所示,以方法1为例: IE下:<param n
  • 什么是Flash     Flash 是由 Adobe 公司开发的一种富媒体技术,起初是一种放置在浏览器中的插件,填补了当时 HTML 页面平淡的空白,增强了网页交互的能力。你可以在 Flash 中做出任何东西,也可以访问本地电脑...
  • Flash网络游戏开发入门经验共享

    千次阅读 2016-01-19 18:38:18
    Flash网络游戏开发入门经验共享  大约1年前(07年3月),有了想使用Flash做网页游戏的冲动。于是研究了AS2,经过了解,感觉AS2做网页游戏还是有不少欠缺的。这时又得知了 AS3,如获至宝。对于有Java开发经验的...
  • flash找茬小游戏开发总结

    千次阅读 2010-12-16 19:37:00
    心理也挺为自己这段时间的努力感到骄傲的,感到挺轻松的 特将在游戏开发过程中新学到的东西总结一番 最基本的就是加载外部swf文件供主flash使用,在flash开发过程中很多元素,图片都是通过fl
1 2 3 4 5 ... 20
收藏数 147,972
精华内容 59,188
关键字:

flask开发