如何使用Swift在一行中分配多个变量?
var blah = 0
var blah2 = 2
blah = blah2 = 3 // Doesn't work???
Run Code Online (Sandbox Code Playgroud) 我试图托管独立的角度元素,我可以放入一个非角度的网页.当我只有一个时,它工作得很好..但是当我在同一页面上加载两个或更多时,我得到这个错误:
未捕获的错误:区域已加载.
我正在使用构建脚本将我的dist文件连接到一个js文件中......然后将其放入我的项目中
const fs = require('fs-extra')
const concat = require('concat')
const files = [
'./dist/elementsApp/runtime.js',
'./dist/elementsApp/polyfills.js',
'./dist/elementsApp/scripts.js',
'./dist/elementsApp/main.js',
]
fs.ensureDir('elements')
.then(() => {
console.log('success!')
concat(files, 'elements/include-me-somewhere-else.js')
})
.catch(err => {
console.error(err)
})
Run Code Online (Sandbox Code Playgroud)
我只能在一个页面上拥有这些js文件中的一个.我理解角度7将使整个过程更容易,但我想知道我现在能做到这一点.
我也尝试将导出的js文件包装在一个自动执行的函数中,以尝试限制范围.不幸的是,不修复任何东西.
有任何想法吗?
人们似乎对角元素是什么感到困惑.有关说明,您可以观看此视频https://www.youtube.com/watch?v=4u9_kdkvTsc.最后几分钟特别显示了一个角度元素被导出并包含在非角度页面上.我试图在同一页面上包含多个元素.
我正在尝试使用界面构建器创建完美的按比例缩放视图.到目前为止,一切都很好.我正在以编程方式缩放字体,按钮等.唯一的问题是元素之间的约束(间距)保持不变.我想避免为间距限制创建出口,因为它看起来很乱.我希望元素之间的间距保持成比例,因为我拉伸元素.现在,所有内容都根据屏幕的左侧对齐.如果我伸展我的视线,一切都保持左对齐.我希望它按比例分开.我怎样才能做到这一点(最好使用界面构建器)?

由于我的示例项目被删除(我认为这将更容易测试),我将发布一些代码和图像来说明我的观点.
这是样本图像


我的地图册设置:

我的启动图像设置:

我将这些精灵添加到场景中的代码
override func didMoveToView(view: SKView) {
let texture = SKTextureAtlas(named: "scenery")
let test = SKSpriteNode(texture: texture.textureNamed("test"))
test.position = CGPoint(x: self.size.width/2, y: self.size.height/2)
self.addChild(test)
}
Run Code Online (Sandbox Code Playgroud)
这些是我的结果:
iPhone 5模拟器:

iPhone 6 plus模拟器:

我已经尝试更改启动图像以使用资产目录.然后iPhone 6 plus似乎升级了2倍的屏幕.它仍在加载2x图像,但会将其放大.
我需要它来加载我的3x图像并使用我的2x图像进行缩放.
Gabuh在下面的回答指出了我正确的方向.适用于新项目.但是,如果我将他的解决方案用于我真正的SpriteKit项目,我的3x图像不会缩小.它们比它们应该大3倍.
我的iOS应用程序已接近完成,但我读到了关于swift在xcode 6.3中的性能改进,并希望利用它.如果我使用最新的xcode但编译我的iOS 8.1应用程序(公开可用),我在提交应用程序时会遇到任何问题吗?
我已经阅读了关于这个主题的所有内容,但仍然无法弄清楚我的问题.我试过在appdelegate的每个区域暂停我的游戏
func applicationWillResignActive(application: UIApplication!) {
NSNotificationCenter.defaultCenter().postNotificationName("pauseGameScene", object: self)
}
func applicationDidEnterBackground(application: UIApplication!) {
NSNotificationCenter.defaultCenter().postNotificationName("pauseGameScene", object: self)
}
func applicationWillEnterForeground(application: UIApplication!) {
NSNotificationCenter.defaultCenter().postNotificationName("pauseGameScene", object: self)
}
func applicationDidBecomeActive(application: UIApplication!) {
NSNotificationCenter.defaultCenter().postNotificationName("pauseGameScene", object: self)
}
Run Code Online (Sandbox Code Playgroud)
在我的控制器中:
override func viewDidLoad() {
NSNotificationCenter.defaultCenter().addObserver(self, selector: "pauseGame:", name: "pauseGameScene", object: nil)
}
func pauseGame(){
self.skView.paused = true
self.skView.scene!.paused = true
}
Run Code Online (Sandbox Code Playgroud)
我知道pauseGame有效,因为如果我用场景中的按钮切换它,它将停止游戏.即使我将skview和场景加载到控制器后直接暂停我的场景和场景......游戏也不会在启动时暂停.当我在游戏中时,很容易暂停游戏.但出于某种原因,每当我退出并恢复应用程序时,游戏将自行暂停.
我注意到,如果我得到hacky并使用某种延迟..我可以让它工作.但显然这是非常愚蠢的......我只需要知道游戏本身在哪里取消!
func delay(delay:Double, closure:()->()) {
dispatch_after(
dispatch_time(
DISPATCH_TIME_NOW,
Int64(delay * Double(NSEC_PER_SEC))
),
dispatch_get_main_queue(), closure)
}
func pauseGame(sender: UIButton!){
delay(2) {
println("blah")
self.skView.paused = true …Run Code Online (Sandbox Code Playgroud) 我正在创建一个高级搜索,并想通过将它们添加到一个数组来循环我的查询:
private $searchFields = [
'as_first_name' => 'users.first_name like "%VALUE%"',
'as_last_name' => 'users.last_name like "%VALUE%"',
'as_payment_history_invoice_num' => 'users.user_id = (SELECT user_id from payment_history where payment_history.invoice_number = "VALUE" LIMIT 1)',
'as_building_num' => 'property_units.building_number like "%VALUE%"',
'as_residents_email' => 'users.email like "%VALUE%"',
'as_property_name' => 'property.name like "%VALUE%"',
'as_phone_num' => 'REPLACE(REPLACE(REPLACE(REPLACE(users.phone, " ", ""), "(", ""), ")", ""), "-", "") = "VALUE"',
'as_unit_num' => 'property_units.unit_number = "VALUE"',
'as_account_status' => 'user_status.status_name = "VALUE"'
];
Run Code Online (Sandbox Code Playgroud)
所以在搜索我做的事情...
if (array_key_exists($key, $this->searchFields)) {
$form->get($key)->setValue($val);
$where->NEST->literal(str_replace('VALUE', urldecode($val), $this->searchFields[$key]))->UNNEST;
}
Run Code Online (Sandbox Code Playgroud)
但问题是我没有逃避任何事情.不好.我怎样才能使用相同的结构,但也可以逃避.
我正在使用enumerateBodiesAlongRayStart,这个方法不断地在我的控制台上打印"Chance"这个词.有没有办法压制这个?这是怎么回事?
self.gameScene.physicsWorld.enumerateBodiesAlongRayStart(self.rayStart, end: self.rayEnd, usingBlock: {
body, point, normal, stop in
})
Run Code Online (Sandbox Code Playgroud) 我的游戏几天前在应用程序商店进行,我根本看不到我的排行榜.它只是说"没有数据可用"
但是,当我使用ad hoc配置文件直接将我的游戏构建到我的手机时,我看到了我的测试版玩家的分数.
我的排行榜处于非现场状态.我不确定这是否重要或如何改变它.我还有其他正在制作的"非现场"排行榜游戏.
既然我的游戏实际上在应用程序商店中,我应该删除并重新制作排行榜吗?
我清除了我的测试数据..没有运气.
我只需要等待吗?这令人困惑.
我已经打电话给Apple支持,他们正在"努力",但我觉得我现在陷入了黑洞..我自己能解决这个问题吗?
这些是我正在运行的命令。这曾经每次都对我有用,但现在它失败了。
codesign -s "Developer ID Application: <YOUR NAME>" --timestamp --options runtime -f --entitlements entitlements.plist --deep <APP NAME>.app
/usr/bin/ditto -c -k --keepParent <APP NAME>.app <APPNAME>.zip
xcrun altool --notarize-app --primary-bundle-id "<BUNDLE ID>" -u "<YOUR EMAIL>" -p "<APP SPECIFIC PASSWORD>" --file <YOURAPP>.zip
我收到一封电子邮件,其中包含“您的应用程序未通过公证”或诸如此类的内容。
这些是我得到的错误。
{
"logFormatVersion": 1,
"jobId": "69910cca-87c0-44f6-a8ec-a0c8a6a7b614",
"status": "Invalid",
"statusSummary": "Archive contains critical validation errors",
"statusCode": 4000,
"archiveFilename": "MegaHasan.zip",
"uploadDate": "2020-02-05T19:07:48Z",
"sha256": "b6b7c75a0e50a9ec9f238360c674f9345ef6a97d27a21a69e793b7938927eb42",
"ticketContents": null,
"issues": [
{
"severity": "error",
"code": null,
"path": "MegaHasan.zip/Mega Hasan.app/Contents/Plugins/plugin_bit.dylib",
"message": "The binary is not signed …Run Code Online (Sandbox Code Playgroud) ios ×6
swift ×6
sprite-kit ×3
app-store ×2
objective-c ×2
xcode ×2
angular ×1
angular6 ×1
autolayout ×1
constraints ×1
elements ×1
game-center ×1
html ×1
ios8 ×1
javascript ×1
loops ×1
macos ×1
mysql ×1
notarize ×1
php ×1
search ×1
variables ×1