회사에서 지난주 이틀간 해커톤을 열었습니다. 물론 코드를 좀 더 깔끔하게 만들기 위해 lufylegend.js를 사용해서 작성해보는 분들도 계셨습니다. 자바스크립트로 작은 MVC 프레임워크를 만들고 간단한 데모를 개발했습니다. 짧은 시간으로 인해 게임은 예상한 양의 일부만 완료되었습니다.
이번에 개발된 게임 스크린샷은 다음과 같습니다.
테스트 연결은 다음과 같습니다
http://lufylegend.com/demo/mvcSample/
JS 개발에 MVC가 전혀 필요없다고 하시는 분들이 많을 겁니다. 여기에서는 이것이 필요한지 아닌지에 대해 논의하지는 않지만 개인적으로 이번 개발에서 MVC 모델을 사용한 후에는 코드의 각 모듈이 실제로 한눈에 명확하고 유지 관리 및 확장이 상대적으로 매우 편리하다고 생각합니다. 물론 소규모 프로그램의 경우 MVC를 사용할 필요가 없습니다. 이제 여기에서 이 프레임워크를 공개하고 그 사용법을 간략하게 설명하겠습니다. 이 프레임워크는 제가 짧은 시간에 완성한 것이므로 불완전한 부분이 많을 것입니다. 더 좋은 아이디어가 있으면 언제든지 제출해 주시기 바랍니다. 함께 토론하세요.
1. 네이밍
lufylegend.js 엔진에서 사용한 네이밍 방식에 따라 이 프레임워크의 이름을 LMvc로 지정하고 프레임워크를 추가했습니다. lufylegend .js 다운로드 패키지 .
2. 사용 전제조건
본 프레임워크는 lufylegend.js 엔진을 기반으로 제가 완성한 것이므로, 사용하기 위해서는 lufylegend.js를 도입해야 합니다. 엔진.
lufylegend.js 엔진 공식 홈페이지
http://lufylegend.com/ lufylegend
lufylegend.js 엔진 온라인 API 문서 링크
http://lufylegend .com/lufylegend/api
3. 기능
동적 파일 로딩, 모든 JS 파일을 함께 작성할 수 있습니다. 프로젝트가 크면 JS 파일도 커지므로 페이지 표시 속도에 영향을 미칩니다. LMvc는 이미지를 동적으로 로드할 수 있을 뿐만 아니라 JS도 동적으로 로드할 수 있습니다. 페이지의 경우 관련 파일만 로드하면 됩니다. 매번 그게 다야.
넷째, 사용 방법
먼저 엔진의 각 경로를 구성합니다: LMvc.JS_PATH, LMvc.IMG_PATH, LMvc.MVC_PATH, LMvc.API_PATH, LMvc.SOUND_PATH.
일부 사진을 미리 읽어야 하는 경우 읽기 데이터를 LMvc.datalist에 할당해야 합니다. 나중에 LMvc 프레임워크를 사용하여 사진을 읽을 때 LMvc.datalist가 자동으로 모니터링되며 중복된 사진은 표시되지 않습니다. 다시 읽어보세요.
마지막으로 LMvc.init()를 호출하여 IndexController를 시작합니다.
각 ***Controller, ***Model, ***View는 그룹이므로 사용하기 전에 GroupMVC를 읽어야 합니다. .
MVC 그룹은 상호 운용될 수 있습니다. 컨트롤러에서는 Controller.model을 사용하여 해당 모델을 호출하고 Controller.view를 사용하여 해당 뷰를 호출할 수 있습니다. 모델에서는 model.controller를 사용하여 컨트롤러를 호출하고 model.view를 사용하여 뷰를 호출할 수 있습니다. 뷰 보기에서는 model.controller를 사용하여 컨트롤러를 호출하고 model.model을 사용하여 모델을 호출할 수 있습니다.
1, ControllerController
간단히 말하면 컨트롤러는 클래스 파일입니다. 컨트롤러는 Controllers 폴더에 있어야 하며 컨트롤러 이름은 Controller로 끝납니다.
컨트롤러에서는 this.model을 사용하여 모델을 호출하고 this.view를 사용하여 뷰를 호출할 수 있습니다.
컨트롤러 기능
construct() | 控制器初始化结束后会直接调用此函数,如果有想要在控制器初期化结束后运行的代码,可以写在construct函数内,控制器的construct函数,在模型的construct函数运行之后运行。 |
loadMvc(name,callback,lastClass) | 读取一组MVC,name是控制器的名称中去除Controller的部分;callback是回调函数,当MVC的三个文件读取完之后,会自动调用此函数;lastClass需要设定为当前对象this。 |
loadMvc 사용 예:
function IndexController(){ base(this,MyController,[]); } IndexController.prototype.construct=function(){ var self = this; self.loadMvc("Logo",self.logoLoad); }; IndexController.prototype.logoLoad=function(){ var self = this; var logo = new LogoController(); self.view.addChild(logo.view); };
load: 컨트롤러 로드 객체 in은 다양한 파일을 읽어오는 데 사용됩니다.
this.load.model(names,callback) | 读取一个或者多个模型。 |
this.load.view(names,callback) | 读取一个或者多个视图。 |
this.load.library(names,callback) | 读取一个或者多个外部类库。 |
this.load.helper(names,callback) | 读取一个或者多个辅助函数文件。 |
this.load.image(loadData,callback) | 读取多张图片。 |
load.model和load.view一般是不用的,但是在一个控制器中要想使用另一组的模型和视图的时候,就需要个别读取了。
load.library的使用案例
function GameController(){ base(this,MyController,[]); } GameController.prototype.construct=function(){ var self = this; self.load.library(["Character","AttackCharacter","Face","Bar","effects/Effect02", "effects/Qinglong","effects/Baihu","BitmapSprite","CoolingTime"],self.libraryLoadOver); }; GameController.prototype.libraryLoadOver=function(){ var self = this; var chara = new Character(); self.view.addChild(chara);
load.helper的使用案例
function GameController(){ base(this,MyController,[]); } GameController.prototype.construct=function(){ var self = this; self.load.helper(["Talk","UI"],self.helperloadOver); }; GameController.prototype.helperloadOver=function(){ var self = this; Talk("对话测试"); };
load.image的使用案例
function GameController(){ base(this,MyController,[]); } GameController.prototype.construct=function(){ var self = this; var list = self.model.getCommonImages(); self.load.image(list,self.loadImageOver); }; GameController.prototype.loadImageOver=function(){ var self = this; //读取完图片后,可以通过LMvc.datalist获取 };
2,模型Model
模型是专门用来和数据打交道的,数据的存储等工作需要写到模型内。模型必须放到Models文件夹内,模型的名字以Model结尾。
在模型中,可以使用 this.controller 来调用它的控制器,使用 this.view 来调用它的视图。
3,视图View
视图是一个LSprite的子对象。视图必须放到Views文件夹内,视图的名字以View结尾。
在模型中,可以使用 this.controller 来调用它的控制器,使用 this.model 来调用它的模型。
4,辅助函数
在控制器中可以通过this.load.helper来读取一个辅助函数文件。辅助函数文件必须放到Helpers文件夹内。
5,类库
在控制器中可以通过this.load.library来读取一个类库。类库必须放到Libraris文件夹内,类库的名字与控制器,模型和视图的名字不同,它的名字就是类库的名字。
如果想要了解更详细的使用方法,大家可以下载lufylegend.js引擎,查看引擎包中的mvcSample这个具体的开发实例。
以上就是HTML5开发中使用MVC模式 的内容,更多相关内容请关注PHP中文网(www.php.cn)!

H5 및 HTML5는 동일한 것을, 즉 html5를 나타냅니다. HTML5는 HTML의 다섯 번째 버전으로 시맨틱 태그, 멀티미디어 지원, 캔버스 및 그래픽, 오프라인 스토리지 및 로컬 스토리지와 같은 새로운 기능을 제공하여 웹 페이지의 표현성 및 상호 작용성을 향상시킵니다.

h5referstohtml5, apivotaltechnologyinwebdevelopment.1) html5introducesnewelements 및 dynamicwebapplications.2) itsupp ortsmultimediawithoutplugins, enovannangeserexperienceacrossdevices.3) SemanticLementsImproveContentsTructUreAndSeo.4) H5'Srespo

H5 개발에서 마스터 해야하는 도구 및 프레임 워크에는 vue.js, React 및 Webpack이 포함됩니다. 1.vue.js는 사용자 인터페이스를 구축하고 구성 요소 개발을 지원하는 데 적합합니다. 2. 복잡한 응용 프로그램에 적합한 가상 DOM을 통해 페이지 렌더링을 최적화합니다. 3. Webpack은 모듈 포장에 사용되며 리소스로드를 최적화합니다.

html5hassignificallytransformedwebdevelopmentbyintranticalticlementements, 향상 Multimediasupport 및 Improvingperformance.1) itmadewebsitessmoreaccessibleadseo 친환경적 인 요소, 및 .2) Html5intagnatee

H5는 시맨틱 요소 및 ARIA 속성을 통해 웹 페이지 접근성 및 SEO 효과를 향상시킵니다. 1. 컨텐츠 구조를 구성하고 SEO를 개선하기 위해 사용합니다. 2. Aria-Label과 같은 ARIA 속성은 접근성을 향상시키고 보조 기술 사용자는 웹 페이지를 원활하게 사용할 수 있습니다.

"H5"와 "HTML5"는 대부분의 경우 동일하지만 특정 시나리오에서는 다른 의미를 가질 수 있습니다. "HTML5"는 새로운 태그와 API를 포함하는 W3C 정의 표준입니다. "H5"는 일반적으로 HTML5의 약어이지만 모바일 개발에서는 HTML5를 기반으로 한 프레임 워크를 참조 할 수 있습니다. 이러한 차이를 이해하면 프로젝트 에서이 용어를 정확하게 사용하는 데 도움이됩니다.

H5 또는 HTML5는 HTML의 다섯 번째 버전입니다. 개발자에게 더 강력한 도구 세트를 제공하여 복잡한 웹 애플리케이션을보다 쉽게 만들 수 있습니다. H5의 핵심 기능에는 다음이 포함됩니다. 1) 웹 페이지에 그래픽 및 애니메이션을 그리는 요소; 2) 웹 페이지 구조를 SEO 최적화에 명확하고 도움이되는 시맨틱 태그 등; 3) GeolocationApi 지원 위치 기반 서비스와 같은 새로운 API; 4) 호환성 테스트 및 폴리 필 라이브러리를 통해 크로스 브라우저 호환성을 보장해야합니다.

H5 링크를 만드는 방법? 링크 대상 결정 : H5 페이지 또는 응용 프로그램의 URL을 가져옵니다. HTML 앵커 작성 : & lt; a & gt; 태그 앵커를 만들고 링크 대상 URL을 지정합니다. 링크 속성 설정 (선택 사항) : 필요에 따라 대상, 제목 및 on 클릭 속성을 설정하십시오. 웹 페이지에 추가 : 링크가 나타나려는 웹 페이지에 HTML 앵커 코드를 추가하십시오.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

WebStorm Mac 버전
유용한 JavaScript 개발 도구

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기
