第五节cocos2dx的jni部分

Jun 07, 2016 pm 03:38 PM
jni 分析する 一部

继续上文分析,这节来分析cocos2dx 的jni 部分: 目录为: cocos2d-x-2.1.4\cocos2dx\platform\android\jni DPIJni.cpp DPIJni.h IMEJni.cpp IMEJni.h Java_org_cocos2dx_lib_Cocos2dxAccelerometer.cpp Java_org_cocos2dx_lib_Cocos2dxBitmap.cpp Java_org_c

继续上文分析,这节来分析cocos2dx 的jni 部分:
目录为:
cocos2d-x-2.1.4\cocos2dx\platform\android\jni
DPIJni.cpp
DPIJni.h
IMEJni.cpp
IMEJni.h
Java_org_cocos2dx_lib_Cocos2dxAccelerometer.cpp
Java_org_cocos2dx_lib_Cocos2dxBitmap.cpp
Java_org_cocos2dx_lib_Cocos2dxBitmap.h
Java_org_cocos2dx_lib_Cocos2dxHelper.cpp
Java_org_cocos2dx_lib_Cocos2dxHelper.h
Java_org_cocos2dx_lib_Cocos2dxRenderer.cpp
JniHelper.cpp
JniHelper.h

TouchesJni.cpp

DPIJni.cpp
获取屏幕DPI 的一个接口。
IMEJni.cpp
获取上层的输入设备,是否打开和关闭输入键盘
Java_org_cocos2dx_lib_Cocos2dxAccelerometer.cpp
单向java 调用,传递给c++,pDirector->getAccelerometer()->update(x, y, z, timeStamp);
Java_org_cocos2dx_lib_Cocos2dxBitmap.cpp
创建位图使用
Java_org_cocos2dx_lib_Cocos2dxHelper.cpp
帮助类,双向,java 调用c++ 和c++调用java
Java_org_cocos2dx_lib_Cocos2dxRenderer.cpp
渲染器,单向,java 传递给c++
JniHelper.cpp
协助类,帮助接口
TouchesJni.cpp 触屏消息传递过程

参照一个为:
JNIEXPORT void JNICALL
Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeTouchesBegin(JNIEnv * env, jobject thiz, jint id,
jfloat x, jfloat y) {
cocos2d::CCDirector::sharedDirector()->getOpenGLView()->handleTouchesBegin(1,

&id, &x, &y);
}
传递给cocos2d-x-2.1.4\cocos2dx\platform\android CCEGLView.cpp 里面,这个类继承了
CCEGLViewProtocol,这个里面可以看到处理过程
void CCEGLViewProtocol::handleTouchesBegin(int num, int ids[], float xs[], float ys[])
这个过程就完成了。
这里CCDirector.cpp 里面设置了触屏解析器
m_pobOpenGLView->setTouchDelegate(m_pTouchDispatcher);
随后CCEGLViewProtocol::handleTouchesBegin 里面调用的
m_pDelegate->touchesBegan(&set, NULL);
便会走到这里。
这一节还是讲解JNI 的本地代码与JAVA 代码之间的沟通过程,只有理解了这些概念,才能在
随后的开发过程游刃有余。

这一节就到这里,分析完毕。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MySQL データベースを予測と予測分析に使用するにはどうすればよいですか? MySQL データベースを予測と予測分析に使用するにはどうすればよいですか? Jul 12, 2023 pm 08:43 PM

MySQL データベースを予測と予測分析に使用するにはどうすればよいですか?概要: 予測と予測分析はデータ分析において重要な役割を果たします。広く使用されているリレーショナル データベース管理システムである MySQL は、予測および予測分析タスクにも使用できます。この記事では、予測と予測分析に MySQL を使用する方法を紹介し、関連するコード例を示します。データの準備: まず、関連するデータを準備する必要があります。売上予測を行うには、売上データを含むテーブルが必要だとします。 MySQL では使用できます

uniapp でデータの統計と分析を実装する方法 uniapp でデータの統計と分析を実装する方法 Oct 24, 2023 pm 12:37 PM

uniapp でデータの統計と分析を実装する方法 1. 背景の紹介 データの統計と分析はモバイル アプリケーション開発プロセスの非常に重要な部分であり、ユーザーの行動の統計と分析を通じて、開発者はユーザーの好みと使用状況を深く理解できます。これにより、製品デザインとユーザーエクスペリエンスが最適化されます。この記事では、uniapp にデータの統計と分析機能を実装する方法と、いくつかの具体的なコード例を紹介します。 2. 適切なデータ統計および分析ツールの選択 uniapp でデータ統計および分析を実装する最初のステップは、適切なデータ統計および分析ツールを選択することです。

Linux でのリアルタイムのログ監視と分析 Linux でのリアルタイムのログ監視と分析 Jul 29, 2023 am 08:06 AM

Linux でのリアルタイム ログの監視と分析 日常のシステム管理とトラブルシューティングにおいて、ログは非常に重要なデータ ソースです。システムログのリアルタイム監視と分析により、異常な状況を適時に検出し、それに応じて対処できます。この記事では、Linux でリアルタイムのログ監視と分析を実行する方法と、対応するコード例を紹介します。 1. リアルタイム ログ監視 Linux では、最も一般的に使用されるログ システムは rsyslog です。 rsyslog を設定することで、さまざまなアプリケーションのログを結合できます。

統計分析の手順 統計分析の手順 Jun 28, 2023 pm 03:27 PM

統計分析は、収集された関連データを分類、分類、解釈するプロセスを指すことがよくあります。統計分析の基本的な手順には、1. データの収集、2. データの整理、3. データの分析が含まれます。

DreamWeaver CMS のセカンダリディレクトリを開けない原因の分析 DreamWeaver CMS のセカンダリディレクトリを開けない原因の分析 Mar 13, 2024 pm 06:24 PM

タイトル: DreamWeaver CMS のセカンダリディレクトリを開けない原因と解決策の分析 Dreamweaver CMS (DedeCMS) は、さまざまな Web サイトの構築に広く使用されている強力なオープンソースのコンテンツ管理システムです。ただし、Web サイトの構築中に、セカンダリ ディレクトリを開けない状況が発生し、Web サイトの通常の動作に問題が発生することがあります。この記事では、セカンダリ ディレクトリを開けない考えられる理由を分析し、この問題を解決するための具体的なコード例を示します。 1. 考えられる原因分析: 疑似静的ルール構成の問題: 使用中

高度道路交通システムにおける Python アプリケーションの事例分析 高度道路交通システムにおける Python アプリケーションの事例分析 Sep 08, 2023 am 08:13 AM

インテリジェント交通システムにおける Python アプリケーションの事例分析の概要: インテリジェント交通システムの急速な発展に伴い、Python は多機能で学びやすく使いやすいプログラミング言語として、インテリジェント交通システムの開発と応用に広く使用されています。この記事では、高度道路交通システムにおける Python の適用事例を分析し、関連するコード例を示すことで、高度道路交通システムにおける Python の利点と応用の可能性を示します。はじめに インテリジェント交通システムとは、最新の通信、情報、センシング、その他の技術的手段を使用して通信することを指します。

ThinkPHP6 コードのパフォーマンス分析: パフォーマンスのボトルネックの特定 ThinkPHP6 コードのパフォーマンス分析: パフォーマンスのボトルネックの特定 Aug 27, 2023 pm 01:36 PM

ThinkPHP6 コード パフォーマンス分析: パフォーマンスのボトルネックの特定 はじめに: インターネットの急速な発展に伴い、より効率的なコード パフォーマンス分析が開発者にとってますます重要になってきています。この記事では、パフォーマンスのボトルネックを特定して解決するために、ThinkPHP6 を使用してコードのパフォーマンス分析を実行する方法を紹介します。同時に、読者の理解を深めるためにコード例も使用します。パフォーマンス分析の重要性 コードのパフォーマンス分析は、開発プロセスに不可欠な部分です。コードのパフォーマンスを分析することで、どこで多くのリソースが消費されているかを理解できます。

Tencent の主要なプログラミング言語が Go であるかどうかを分析する Tencent の主要なプログラミング言語が Go であるかどうかを分析する Mar 27, 2024 pm 04:21 PM

タイトル: テンセントの主要なプログラミング言語は Go ですか: 詳細な分析 中国の大手テクノロジー企業として、テンセントはプログラミング言語の選択において常に多くの注目を集めてきました。近年、テンセントは主に Go を主要なプログラミング言語として採用していると考える人もいます。この記事では、Tencent の主要なプログラミング言語が Go であるかどうかについて詳細な分析を行い、この見解を裏付ける具体的なコード例を示します。 1. Tencent における Go 言語の適用 Go は、Google によって開発されたオープンソースのプログラミング言語であり、その効率性、同時実行性、シンプルさにより多くの開発者に愛されています。

See all articles