Вам нужно напечатать несколько пробелов. Существует связь между количеством пробелов и числом (i
), которое вы печатаете. Вы можете распечатать X количество пробелов, используя:
for (int k = 0; k < numSpaces; k++)
{
System.out.print(" ");
}
Итак, в вашем коде:
int i, j;
for(i = 1; i <= 5; i++)
{
// Determine number of spaces needed
// print spaces
for(j = 1; j <= i; j++)
{
System.out.print(i);
}
System.out.print("\n");
}
В цикле for в функции touchesBegan
node
имеет тип SKNode. Вам нужно опуститься до SKSpriteNode. Когда вы переходите на SKSpriteNode, вы можете изменить текстуру.
for node in tappedNodes {
if let tappedBalloon = node as? SKSpriteNode {
if tappedBalloon.name == "blue_balloon" {
// Set tapped balloon's texture
tappedBalloon.texture = // The texture you want here.
// Handle tapping a balloon, such as increasing the score.
}
}
}
Я заметил в вашем цикле for, что у вас есть один и тот же код внутри блоков if для синих и фиолетовых воздушных шаров. Вы можете легко переместить дублирующийся код в его собственную функцию, popBalloon
или как вы хотите ее назвать, и вызывать эту функцию, когда вы нажимаете на шарик. Если между шариками нет разницы, кроме их цвета, вы можете просто дать каждому шарику имя "balloon"
и проверить одно имя вместо проверки нескольких названий шариков. Это сократило бы ваш код.
Вы также можете упростить понимание своего кода, создав структуру или класс Balloon
и указав в качестве одного из свойств спрайтовый узел. Напишите код, который имеет дело с воздушными шарами вместо узлов спрайтов и другими терминами SpriteKit.