2012-05-25 2 views
1

Как и в Effect.shadow() является устаревшим в PlayN1.3.So я имел что-то подобное раньше:Playn перенос текста и проблема стиля

TextFormat textFormat = new TextFormat(myFont, textWidth, Alignment.LEFT, colorCode, Effect.shadow(-16777216, shadowX, shadowY)); 

Так я изменил его на это:

TextFormat textFormat = new TextFormat(); 
textFormat.withFont(myFont); 
textFormat.withWrapping(textWidth, Alignment.LEFT); 

Я не хочу тень now.It нормально, но я не получил предыдущий как result.Hold on.dont думаю now.Then я изменил этот код следующим образом:

TextFormat textFormat = new TextFormat().withFont(myFont).withWrapping(textWidth, Alignment.LEFT); 

Это дает мне результат как предыдущий, кроме тени, который мне не нравится сейчас. Если я не ошибаюсь, это однострочное представление выше кода. Не так ли? Так почему это сработало и выше кода не было. Есть ли концептуальная разница? Любой может объяснить, пожалуйста!

// примечание: не беспокойтесь о переменных (textWidth, myFont), они не имеют никакого отношения к этому.

ответ

1

Объекты TextFormat неизменяемы. Когда вы вызываете textFormat.withFont (myFont), который возвращает новый экземпляр TextFormat, который выдает код выше. Если вы хотите, чтобы первый код работал, вам необходимо написать его следующим образом:

TextFormat format = new TextFormat(); 
format = format.withFont(myFont); 
format = format.withWrapping(textWidth, Alignment.LEFT); 
+0

Спасибо за это. Я новичок в playn.need, помогите нам с этим. + 1 и принят. –

Смежные вопросы