问题标签 [flixel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
flash - AS3 - 不知道叫什么
我正在写一个涉及货物的游戏,我计划拥有大量的货物类型。目前我有一个Cargo
班级,一艘载货的船有一系列Cargo
它持有的s。
当我真正想知道每艘船有多少货物时,我真的不想让每艘船都有一堆物品。尤其是当这些船将被大量制造和丢弃时。
我确定我正在寻找的东西是如此基本,以至于我什至会看起来很愚蠢,但我知道有一些类似于包含对象和相关值的数组的东西。我想用它来引用Cargo
静态数组中的类型,并保存数量。
它叫什么?我将如何使用它(即它的常用功能是什么)?一些代码片段和术语将是理想的。
actionscript-3 - Flixel - FlxButton 就像多次单击一样
我有几个由 FlxGroups 制成的对话屏幕。第一个屏幕LandingScreen
有一个打开第二个屏幕的按钮CargoShop
。每当添加一个屏幕时,它就会在我的 FlxState 中成为活动屏幕,并且其他屏幕的按钮设置为active = false;
所以,当单击打开CargoShop
屏幕的按钮时,它设置为active = false;
在下一个更新周期。
现在,CargoShop
屏幕有一个按钮可以关闭它,它会LandingScreen
再次激活。出于某种原因,一旦CargoShop
关闭屏幕,就会立即打开一个新屏幕,就好像再次单击了商店按钮一样。
这些按钮不在彼此之上。FlxButton 是否缺少一些技巧,即认为它没有被点击?仅在我使用鼠标时才会发生;如果我CargoScreen
用键盘命令关闭,则不会立即创建一个新命令。
flash - Flixel - Alpha 无法正常工作
当我反复更新 FlxSprite 的 alpha 以使其淡出时,我发生了一些奇怪的事情。而不是需要 150 秒才能完全淡出(我实际上想要 15 秒),它可能会在 2 秒内淡出。我尝试追踪实际的 alpha 值,当 alpha 值在 0.95 左右(95% 的不透明度,即略微透明)时,精灵是不可见的。
有谁知道我怎样才能让 alpha 在 Flixel 中正常工作?
actionscript-3 - AS3/Flixel:“访问可能未定义的属性。”
这里有相当新的 flixel/AS3 用户,虽然对编码并不完全陌生。无论如何,错误的原因很简单,但不是解决方案。
“错误:通过静态类型 org.flixel:FlxSprite 的引用访问可能未定义的属性。”
它被抛出 6 次,两次使用属性 scrap.selected 和四次使用 scrap.distanceToMouse - 我已经用注释标记了每行引发错误的行。
我专门搜索了整个网络和 StackOverflow。这看起来是一个很常见的问题,但我无法针对我的具体情况应用任何解决方案。无论如何,这是相关的代码......
废料管理器.as
Scrap.as
我认为(希望)这就是解决这个问题所需的全部,但如果需要,我很乐意提供更多。谢谢阅读。:D
json - 样式表没有按预期工作
我是 Flixel 的新手,所以如果我的问题太简单,请原谅我。
我的问题是:我使用 Photoshop 制作了四个非常简单的图像(站立、移动、侧立、侧移),然后将其传递给 Texture Packer(样式表制造商)它为我生成了一个图像(非常简单)加上一个 JSON文件,这里是:http:
//i.stack.imgur.com/UTi4G.png
所以我想将它们与 Flixel 一起用作站立的角色(第一个),当我调用动画移动时,它将使用最后一张图片,但它没有按预期工作。基本上它一次显示所有四个图像。
这是代码:
Character.as:
PlayState 类(我在其中创建此类的实例)
所以我期望:
当velocity.y为600(仅用于测试)时,第一个图像被弹出(并继续下降)move_forward动画开始(循环通过第一个和最后一个图像)
输出是:
所有四个图像都弹出,当velocity.y == 60 时没有任何反应。
我真的认为我遗漏了一些东西,因为我对 Actionscript 3 和 Flixel 非常陌生(也是游戏开发!)。
几乎相同的步骤适用于在线教程,唯一的区别是他创建了几个动画(敌人)而不是一个,在这里查看http://gotoandlearn.com/play.php?id=139
对于 JSON 文件,我从来没有找到了它的用途(我尝试在 IRC 频道中询问,但没有人提及),也在论坛/教程中。
actionscript - 如何让 Flixel 在重叠时忽略透明图像?
我使用 Photoshop 创建了一组静态对象、一堆墙壁和大门,并让背景透明。该bunchOfWalls
图像与我的地图大小相同(600x600x)。
所以,当我这样做时FlxU.overlap(bunchOfWalls, myHero, heroHitWalls);
,这个函数会随着 Hero 的每一次移动而触发,因为它会在每次检测到与图像透明区域的碰撞时触发。这意味着英雄无法移动,因为图像层位于地图层本身的顶部并且具有相同的大小(均为 600x600)。
有什么方法可以让 Flixel 忽略我bunchOfWalls
图像的透明区域,还是有其他方法可以达到同样的效果?
actionscript-3 - FlxControl.player1.setJumpButton 无法按预期工作
我正在为我的新项目使用 Flixel Power Tools,具体来说我正在使用FlxControl
.
我尝试使用 设置跳转按钮FlxControl.player1.setJumpButton()
,但它不起作用。
我尝试像这样使用它:
注意:箭头键(左和右)按预期工作。
编辑:
github.com 上的完整 PlayState.as 代码:Github PlayState.as 代码
ios - 使 Flixel(iOS 端口)支持视网膜图形
如果您熟悉 Flixel 游戏引擎,请在此处开源: https ://github.com/ericjohnson/canabalt-ios/tree/master/flixel-ios
您将如何添加对视网膜图形的支持?像视网膜大小的纹理。
我尝试添加@2x atlas pngs,它们似乎已加载,但我猜偏移量将不正确,如 atlas plist 中指定的那样。使用正确的偏移量更改 plist(为视网膜设备加载视网膜图集)肯定会正确加载图形,但纹理本身通常显示太大,并且似乎会出现其他问题。
进度更新:
如上所述,我正在为高分辨率图形创建单独的纹理图集 - 我想这意味着我需要拥有一整套高分辨率图形(或根本没有)以使事情变得简单。这使得图形加载正确(或者如果使用lowres atlas plist,偏移量当然不正确)
在创建 FlxSprite:s 时,我不使用速记静态创建器,而是使用 init* 构造器,使用设备的比例指定 modelScale 参数(对于视网膜设备将为 2.0,对于其他设备为 1.0)。这样,无论视网膜屏幕与否,图形都会在屏幕上以正确的尺寸显示。
剩下的就是让视网膜版本使用正确的分辨率,因为在某处纹理本身似乎缩小了,然后再次调整大小,产生模糊、不正确的效果——而不是原始的高分辨率图像。我猜最后一个罪魁祸首是在 SemiSecretTexture 类的某个地方......
再次更新进度:
- 我可能只是上面错了。我想我知道该怎么做。无需将modelScale设置为2.0...我可能会整理细节并稍后提供答案:-)
actionscript-3 - 在 FlxG.collide() 回调函数中:从组中杀死一个项目会杀死该组的其余部分
我有英雄投掷的剑(考虑它们是子弹),当它击中瓷砖地图时,剑(子弹)被使用kill()
方法杀死。但是意想不到的事情发生了。使用时kill()
,exists = false 或 visible = false ALL OF THE GROUP IS GONE (killed or invisible)。
这些是一些片段:
的子类Sword(BasicSword)
只有剑图形,所以不值得一提。
更新:
actionscript-3 - Flixel - FlxWeapon 没有显示任何子弹
我尝试使用 FTP FlxWeapon 制作一些子弹(实际上是剑/匕首),但得到了一些意想不到的结果。这就是我设置 FlxWeapon 的方式:
重要说明:
BasicSword.as 扩展了 Sword.as 和 Sword.as 扩展了 FlxWeapon。
BasicSword 和 Sword 中没有什么重要的,实际上 Sword 只有构造器,而 BasicSword 只有 SWORD_GIF。
- 我认为有效的方法:
1-回调函数。
2-一些方法和变量,例如:setFireRate() 和 bulletsFired。
3-开火按钮(FlxControl.player1.setFireButton)。
-什么不工作:
1 - 剑没有出现。