Adobe Animate Starling 错误
Posted
技术标签:
【中文标题】Adobe Animate Starling 错误【英文标题】:Adobe Animate Starling Error 【发布时间】:2017-04-26 09:27:06 【问题描述】:我使用 starling 框架在 adobe animate 中创建了饥饿英雄游戏(重新创建)。 从下面这个地址下载:
(http://www.test.farsvila.ir/animate_starling_Error.rar)
package
import flash.display3D.textures.Texture;
import flash.utils.Dictionary;
import flash.display.Bitmap;
import starling.textures.Texture;
import starling.display.Sprite;
import starling.events.Event;
import starling.display.Image;
import starling.display.Button;
import starling.core.Starling;
import starling.events.Event;
import screens.Welcome;
public class Assets
[Embed(source = "media/graphics/bgWelcome.jpg")]
public static const BgWelcome: Class;
[Embed(source = "media/graphics/welcome_hero.png")]
public static const WelcomeHero: Class;
[Embed(source = "media/graphics/welcome_title.png")]
public static const WelcomeTitle: Class;
[Embed(source = "media/graphics/welcome_playButton.png")]
public static const WelcomePlayBtn: Class;
[Embed(source = "media/graphics/welcome_aboutButton.png")]
public static const WelcomeAboutBtn: Class;
private static var gameTextures: Dictionary = new Dictionary();
public static function getTexture(name: String): Texture
if (gameTextures[name] == undefined)
var bitmap: Bitmap = new Assets[name]();
gameTextures[name] = Texture.fromBitmap(bitmap);
return gameTextures[name];
它出错了 --> 通过静态类型 Class 的引用从 Bitmap 调用可能未定义的方法。
【问题讨论】:
请提供一些代码,请确保,没有人不会下载该 RAR 文件,所以在您发布生成该错误消息的那部分代码之前,这个问题无法解决。 会这样做的兄弟:) مرسی زیاد کدهاشم میذارم 好的,谢谢 :) ,也不是我的反对票,不幸的是,这里不允许说波斯语,但在 chat.***.com 中。 欣赏兄弟。哦,别介意你是积极的:)。我的部分代码已添加到我的帖子中。请检查并帮助我 【参考方案1】:乍一看,一切正常!根据DOC fromBitmap
是starling.textures.Texture
的公共静态成员
但问题是因为import flash.display3D.textures.Texture
超出了您帖子中的代码块,让我被绞死了几分钟!
所以在这种情况下,我们有相同的类名,两个纹理。编译器也搞混了(不明确的引用错误)。
试试看
已编辑
public static function getTexture(name: String): starling.textures.Texture
if (gameTextures[name] == undefined)
var bitmap: Bitmap = new Assets[name]();
gameTextures[name] = starling.textures.Texture.fromBitmap(bitmap);
return gameTextures[name];
为了让编译器清楚,你的意思是哪个纹理
建议
我猜你真的不需要import flash.display3D.textures.Texture;
所以把它从你的默认代码中删除(在不将Texture
更改为starling.textures.Texture
的情况下解决了问题)
【讨论】:
@Mohammadtavakoly 我们必须将所有纹理更改为starling.textures.Texture,我现在将编辑我的答案 是吗?我们将它添加到类并从两个超类 starling.textures 扩展! @Mohammadtavakoly 你试过我编辑的代码吗?另请阅读作为另一个答案的附加建议(与第一部分无关) @Mohammadtavakoly 如果您还需要更多讨论,请加入此处Chat 当您超过 20 名代表时 @Mohammadtavakoly 好,所以这个答案已经解决并且应该被接受,但是对于你的新问题,将它作为一个新问题发布,不幸的是我不熟悉 starling-framework 和 stage3d.以上是关于Adobe Animate Starling 错误的主要内容,如果未能解决你的问题,请参考以下文章
Adobe Animate ReferenceError:错误 #1069:在 _ 上找不到属性 loopMode,并且没有默认值
Adobe Animate/Flash ios 应用程序上传器