当前位置:  编程技术>移动开发
本页文章导读:
    ▪Unity3D第一个项目【统制模型移动】        Unity3D第一个项目【控制模型移动】 一、创建Unity项目        打开Unity游戏编辑器界面,在导航菜单栏中选择File --->  New Project菜单项,在弹出界面中选择Create new Project页面,将项目名命.........
    ▪ 在 actionbar中应用 searchview        在 actionbar中使用 searchview package="com.example.test" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" /> <application android:icon="@drawable/ic_la.........
    ▪ 濡備綍鍍弔alking tom閭f牱锛岃嚜鍔ㄧ洃鍚埌澶栭儴澹伴煶锛屽拰锛岀畝鍗曠殑鍙樺零_1       濡備綍鍍弔alking tom閭f牱锛岃嚜鍔ㄧ洃鍚埌澶栭儴澹伴煶锛屽拰锛岀畝鍗曠殑鍙樺0_1 涔熻鏈夊閮ㄧ殑绗笁鏂瑰簱锛坈/c++锛夋潵瑙e喅闂锛屼絾鏄紝鎴戝彧鎯崇敤绾痡ava鏉.........

[1]Unity3D第一个项目【统制模型移动】
    来源: 互联网  发布时间: 2014-02-18
Unity3D第一个项目【控制模型移动】

一、创建Unity项目

       打开Unity游戏编辑器界面,在导航菜单栏中选择File --->  New Project菜单项,在弹出界面中选择Create new Project页面,将项目名命名为MobilityModel,然后再点击Create Project,完成项目的创建。

       然后点击保存(Ctrl+S)保存场景。

 

二、构建模型

       在Hierarchy视图中分别创建游戏对象Plane(面板)、Cube(立方体)、Sphere(球体)、Cylinder(圆柱体)、Capsule(胶囊体),然后鼠标拖动创建的游戏对象将他们摆放在合适的位置。

       接下来在游戏中添加一个光源,在Hierarchy视图中选择Create--->Directional light菜单项,光源是游戏中非常重要的一个属性,一定要在游戏场景中设置它,如果不设置光源对象,Game视图会非常暗,严重影响游戏的效果。

 

三、添加脚本

       在Project视图中点击Create--->JavaScript菜单项创建一个游戏脚本,将其命名为MobilityModelScript.js,在脚本上编写如下代码:

//模型移动速度
var TranslateSpeed = 10;
//模型旋转速度
var RotateSpeed = 1000;
//绘制UI界面
function OnGUI(){
	//设置GUI背景色
    GUI.backgroundColor = Color.red;
	if(GUI.Button(Rect(10,10,70,30),"向左旋转")){
		//向左旋转
		transform.Rotate(Vector3.up * Time.deltaTime * (-RotateSpeed));
	}
	if(GUI.Button(Rect(90,10,70,30),"向前移动")){
		//向前移动
		transform.Translate(Vector3.forward * Time.deltaTime * TranslateSpeed);
	}
	if(GUI.Button(Rect(170,10,70,30),"向右旋转")){
		//向右旋转
		transform.Rotate(Vector3.up * Time.deltaTime * RotateSpeed);
	}
	if(GUI.Button(Rect(90,50,70,30),"向后移动")){
		//向后移动
		transform.Translate(Vector3.forward * Time.deltaTime * (-TranslateSpeed));
	}
	if(GUI.Button(Rect(10,50,70,30),"向左移动")){
		//向左移动
		transform.Translate(Vector3.right * Time.deltaTime * (-TranslateSpeed));
	}
	if(GUI.Button(Rect(10,50,70,30),"向右移动")){
		//向右移动
		transform.Translate(Vector3.right * Time.deltaTime * TranslateSpeed);
	}
	
	//显示模型位置信息
	GUI.Label(Rect(250,10,200,30),"模型位置"+transform.position);
	//显示模型旋转信息
	GUI.Label(Rect(250,50,200,30),"模型旋转"+transform.rotation);
}

      上述代码中重要方法和属性如下:

      OnGUI()方法用来绘制GUI界面组件。

      GUI.Button():设置一个按钮,返回true时表示该按钮被按下。

      GUI.Label():设置一个文本框。

      transform:为当前绑定模型的变换对象。

      transform.Rotate():设置模型旋转。

      transform.Translate():设置模型平移。

      Time.deltaTime:该数值为一个只读属性,不可修改,表示完成最后一帧的事件,单位为秒。

      Vector3:标志一个模型移动或者旋转的方法。

      Rect:规定一个矩形区域,用于显示控件。

      将编写好的脚本对象,将其从Project视图拖拽到Hierarchy视图中的立方体(Cube)对象上,如果没有提示错误,表示脚本绑定成功,运行游戏后该游戏对象将执行该脚本中的内容。

 

       目前立方体对象与其他模型对象之间是不存在碰撞的,但是运行游戏后,可以控制立方体(Cube)直接穿越另一个模型对象。为了让模型对象之间具有物理的碰撞,需要给模型对象添加一个刚体(Rigidbody)属性,添加方式:首先在Hierarchy视图中选中立方体对象,在Uinty导航菜单栏中选择Component --> Physics 

-->Rigidbody菜单项即可。

 

四、测试运行

       点击运行按钮就能看到结果,可以点击显示的六个按钮对象,可以移动Cube(立方体)的位置和旋转。


 


    
[2] 在 actionbar中应用 searchview
    来源: 互联网  发布时间: 2014-02-18
在 actionbar中使用 searchview
package="com.example.test"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="15" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/title_activity_main" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

        <meta-data
            android:name="android.app.default_searchable"
            android:value=".SearchActivity" />
    </activity>
    <activity
        android:name=".SearchActivity"
        android:label="@string/app_name" >

        <!-- This intent-filter identifies this activity as "searchable" -->

        <intent-filter>
            <action android:name="android.intent.action.SEARCH" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>

        <!-- This metadata entry provides further configuration details for searches -->
        <!-- that are handled by this activity. -->

        <meta-data
            android:name="android.app.searchable"
            android:resource="@xml/searchable" />
    </activity>
</application>

 注意 "android.app.searchable" metadata必须在 "results" activity, main activity (或者搜索 activity 包含SearchView) 需要制定 "android.app.default_searchable".


    
[3] 濡備綍鍍弔alking tom閭f牱锛岃嚜鍔ㄧ洃鍚埌澶栭儴澹伴煶锛屽拰锛岀畝鍗曠殑鍙樺零_1
    来源: 互联网  发布时间: 2014-02-18
濡備綍鍍弔alking tom閭f牱锛岃嚜鍔ㄧ洃鍚埌澶栭儴澹伴煶锛屽拰锛岀畝鍗曠殑鍙樺0_1

涔熻鏈夊閮ㄧ殑绗笁鏂瑰簱锛坈/c++锛夋潵瑙e喅闂锛屼絾鏄紝鎴戝彧鎯崇敤绾痡ava鏉ヨВ鍐?/p>

鑳屾櫙锛氭垜骞舵病鏈夊お澶氱殑鍏充簬闊宠棰戣В鐮佺殑鐭ヨ瘑锛屼篃涓嶆兂浜嗚В闊抽噺闊宠壊绛変笓涓氭蹇?/p>

*************************************

瑙e喅閫斿緞锛?/p>

鎴戝湪stackoverflow涓婅矊浼兼壘鍒颁簡绛旀锛屽弬瑙侊細http://stackoverflow.com/questions/7955041/voice-detection-in-android-application
甯栧瓙鐨勯棶棰樻弿杩帮細
I want to change my application in this way,聽
when application start work it begin to analyze sound coming from microphone,
if user keep silent application continue to analyze income sound from microphone,
if user start to talk application begin to Record sound coming from microphone聽
and then user finish talking application stops recording and give me back same buffer, with voice data in .wav format.
甯栧瓙鐨勮В鍐筹細
1.闂鐨勬彁鍑鸿€呭拰瑙g瓟鑰呮槸鍚屼竴涓汉锛屼粬璐村嚭浜嗘簮鐮侊紝浣嗘槸鏈変竴浜涘彉閲忕殑鍏蜂綋鏁板€兼病鏈夌粰鍑?br>2.鐒跺悗锛屾垜璨屼技鎵惧埌浜嗛偅涓汉鐨勪富椤碉紝浠栧張璐村嚭浜嗕笉瀹屾暣鐨勬簮鐮侊紙浣嗘槸杩欐浠g爜璁剧疆浜嗕笂闈㈢殑鍙傛暟鍊硷紝铏界劧鏈塪ownload锛屼絾鏄摼鎺ュけ鏁堬級鍙傝锛?a href="http://vitosolutions.wordpress.com/tag/voice/">http://vitosolutions.wordpress.com/tag/voice/
3.鍦ㄦ棭浜涙椂鍊欙紝濂藉績鐨勭綉鍙嬬粰鍑轰簡绫讳技鐨勮В绛旓紝鍙傝锛?a href="http://wapiknow.baidu.com/question/416835390.html?fr=ala3&ssid=0&from=1097d&uid=wiaui_1295711782_6667&pu=usm%401%2Csz%401320_240&bd_page_type=1&tj=zhidao_2_0_10">http://wapiknow.baidu.com/question/416835390.html?fr=ala3&ssid=0&from=1097d&uid=wiaui_1295711782_6667&pu=usm%401%2Csz%401320_240&bd_page_type=1&tj=zhidao_2_0_10

*************************************

宸茬粡鎸夌収stackoverflow鐨勬柟娉曪紝杩涜浜嗗疄鐜帮紝閫氳繃


鍘熶唬鐮佺殑闂锛氬洜涓轰粬鐨勪唬鐮佷腑锛岃缃殑鏄?50杩欎釜闃€鍊硷紝鑰岃繖涓槸姣旇緝澶х殑锛屽線寰€妫€娴嬩笉鍒版甯哥殑璇磋瘽锛屽缓璁紝灏嗗叾璋冩暣鑷?0宸﹀彸

鍏充簬寰幆鐩戝惉锛?br>tom鐚殑璇磋瘽鐩戝惉寰€寰€鏄竴涓惊鐜繃绋嬶紝鑰屽師浠g爜鍙洃鍚竴娆?br>璇ュ惊鐜繃绋嬪彲鑳借繕闇€瑕佸湪鏌愪釜鏃跺埢杩涜闃诲锛岀劧鍚庡湪鏌愪釜鏃跺埢琚敜閱?br>鍦ㄤ笅涓€娆$洃鍚椂锛屽缓璁敓鎴愭柊鐨凙udioRecord锛岃€屼笉鏄埄鐢ㄥ師鏈夌殑锛屽洜涓猴細浠栦細灏嗕笂涓€娆$殑澹伴煶娈嬬暀淇濆瓨鑷虫湰娆$洃鍚紝鑰岃繖浼氬奖鍝嶏細鍚庣画鐨勫綍闊崇殑鎾斁

鍏充簬鍙樺0锛?br>鎴戜篃鏄壘浜嗗緢澶氱殑璧勬枡锛屼笉杩囪矊浼硷紝閮芥帹鑽愮敤soundtouch锛屼粬鏄疞GPL
浠栨槸c/c++缂栧啓锛屾墍浠ワ紝浣犻渶瑕佸皢浠栫紪璇戞垚so
濡傛灉瀵瑰彉澹扮殑鏁堟灉涓嶆槸閭d箞鑻涘埢鐨勮瘽锛屽彟澶栦竴绉嶆帹鑽愶細浣跨敤soundpool锛屾柟娉曪細SoundPool.play(soundid, 1, 1, 0, 0, 2f);銆傞偅灏嗘敼鍙樿閫燂紝绗竴娆″惉璧锋潵锛屽彉鐨勬晥鏋滆繕涓嶉敊

鍏充簬褰曢煶鐨刡ufferSizeInBytes

浣犱篃璁搁€氬父浣跨敤浠ヤ笅鏂瑰紡锛屾潵杩涜鐩戝惉锛?/p>

int bufferSizeInBytes = AudioRecord.getMinBufferSize(SAMPLE_RATE,
	RECORDER_CHANNELS, RECORDER_AUDIO_ENCODING);
audioRecorder = new AudioRecord(AUDIO_SOURCE, SAMPLE_RATE,
	RECORDER_CHANNELS, RECORDER_AUDIO_ENCODING,
	bufferSizeInBytes);
numberOfReadBytes = audioRecorder.read(audioBuffer, 0,
	bufferSizeInBytes);

杩欑鏂规硶鍦ㄦ煇浜涙儏鍐典笅锛屾病鏈夐敊璇紝浣嗘槸锛屼綘蹇界暐浜嗕竴浜涚粏鑺傦細

鍦ㄥ崕涓簎8800+鍜屼笁鏄焔alaxy nexus涓婂垎鍒繘琛屼簡瀹為獙锛屽彂鐜帮細鍗庝负涓婏紝涓€鍒囨甯革紝鑰岋紝涓夋槦涓婏紝褰曢煶骞朵笉鏄畬鏁寸殑锛坮ead涓殑鏁版嵁鏄笉瀹屾暣鐨勶級

杩欐槸android纰庣墖鍖栬〃鐜帮紝鍥犱负bufferSizeInBytes灏忎簡锛屾姏鍑轰簡锛歊ecordThread: buffer overflow寮傚父

瀹樻柟瑙i噴锛堝叧浜巊etMinBufferSize 锛?鍐欓亾
Returns the minimum buffer size required for the successful creation of an AudioRecord object. Note that this size doesn't guarantee a smooth recording under load, and higher values should be chosen according to the expected frequency at which the AudioRecord instance will be polled for new data.

瑙e喅锛堜笉瀹岀編锛夛細bufferSizeInBytes*=5

---------------------鍗庝附鐨勮繛鎺ョ嚎---------------------锛?/p>

濡備綍鍍弔alking tom閭f牱锛岃嚜鍔ㄧ洃鍚埌澶栭儴澹伴煶锛屽拰锛岀畝鍗曠殑鍙樺0_2

濡備綍鍍弔alking tom閭f牱锛岃嚜鍔ㄧ洃鍚埌澶栭儴澹伴煶锛屽拰锛岀畝鍗曠殑鍙樺0_3

缁戞灦涓€涓獁av

鍥剧墖+闊抽->瑙嗛


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3