2011-11-25 6 views
1

내가 루아를했을 때 나는 다른 루아 파일 등을로드하기 위해 dofile("...");을 사용했다. 나중에 이것은 매우 나쁜 관행이며 응용 프로그램 중단으로 이어질 수 있음을 알 수 있습니다.장면을 변경하는 적절한 방법은 무엇입니까?

이제 WebOs 응용 프로그램을 개발하고 있습니다. 잘못된 프로그래밍 습관을 시작하기 전에 장면을 올바르게 바꾸고 싶습니다.

내 LogicAndArithmetic 현장에 도착 위대한 작품을
label2Tap: function(inSender, event) { 
    Mojo.Controller.stageController.popScene(); 
    Mojo.Controller.stageController.swapScene("LogicAndArithmetic"); 
}, 

,이 같은 수행하는 가장 좋은 방법입니다 :이 순간

내가 무엇을 사용? 감사합니다. .

답변

2

webOS의 모조 프레임 워크에서 장면 모델은 스택처럼 작동합니다. 앱이 시작되면 pushScene으로 전화하여 기본 장면을 표시합니다. 일반적으로 추가로 pushScene 호출을 만들어 위에 스택에 장면을 추가 한 다음 사용자가 작업을 완료하면 일반적으로 사용자가 '뒤로 동작'을 수행하여 이전 장면을 다시 가져올 때 팝업됩니다. 결국 당신은 당신의 메인 장면으로 돌아올 것입니다.

swapScene 호출은 다른 장면에 대해 popScenepushScene을 호출하는 것과 같습니다. 귀하의 경우에는 popScene을 호출하고 swapScene을 호출하므로 스택에서 두 장면을 터뜨린 다음 다시 밀어 넣는 것과 같습니다. 장면이 하나 밖에 없기 때문에 효과가 있을지 모르지만, 더 많이 가지고 있다면 제대로 작동하지 않을 것입니다.

현재, 왜 Enjo가 아니라 Mojo를 사용하고 있습니까?

+0

저는 Enyo에 대해서도 몰랐습니다. 나는 Mojo 튜토리얼을 읽고있다. 명확한 설명 주셔서 감사합니다. Enyo를 살펴 보겠습니다. –

2

기술적으로는 올바르지 만 사용자가 앱을 어떻게 기대하는지는 거의 알 수 없습니다. 일반적으로, 사용자가 새로운 장면을 연 버튼을 누르면, Miguel이 말했듯이, 새로운 장면을 스택에 놓습니다. 사용자는 돌아가서 스택에서 장면을 팝 할 수 있어야합니다. 자동으로 발생하므로이 입력을 청취 할 필요가 없습니다. Mojo.Controller.pushScene ("sceneName");을 호출하여이를 수행합니다. swapScene이 의미있는 일부 응용 프로그램이 있지만 응용 프로그램은 논리적 인 "뒤"장면과 함께 일련의 장면으로 개념화 될 수 있습니다.

기존 응용 프로그램을 사용하여 어떻게 동작하는지 느낄 수 있습니다. 또한 Miguel이 Enyo로 옮길 것을 제안했지만, Enyo 앱은 공식적으로 webOS 2 장치 (전화)에서 작동하도록되어 있지 않으며 터치 패드에서만 작동합니다. webOS 2 장치에서 실행할 수는 있지만 앱 카탈로그에서 거부 될 것으로 생각됩니다.

+0

마지막 단락을 알고있는 것이 좋습니다. 나는 11 월에 이것을 만들었고, 1 월에 2 개의 응용 프로그램을 성공적으로 밀어 낸 후 Mojo를 사용했습니다. 나는 내가 처음으로 배웠던 것, 시간이 갈수록 엔요로 나아 가기 때문에 모조를 고수 할 것이라고 생각했다. 나는 이제는 휴대 전화에 대한 최선의 것을 아는 모조에 붙어있어서 기쁘다. –

관련 문제