xml地图|网站地图|网站标签 [设为首页] [加入收藏]
R语言数据处理包dplyr,Unity在Android和iOS中如何调
分类:编程

19.添加电影tabBar

tabBar文档

在posts目录下新建movies目录,分别创建四个文件

app.json配置tabBar

{
  "pages": [
    "pages/posts/post",
    "pages/welcome/welcome",

    "pages/posts/post-detail/post-detail",
    "pages/movies/movies"
  ],
  "window": {
    "navigationBarBackgroundColor": "#405f80"
  },
  "tabBar": {
    "borderStyle": "white",
    "list": [
      {
        "pagePath": "pages/posts/post",
        "text": "阅读",
        "iconPath": "images/tab/yuedu.png",
        "selectedIconPath": "images/tab/yuedu_hl.png"
      },
      {
        "pagePath": "pages/movies/movies",
        "text": "电影",
        "iconPath": "images/tab/dianying.png",
        "selectedIconPath": "images/tab/dianying_hl.png"
      }
    ]
  }
}

图片 1

本文主要是对unity中如何在Android和iOS中调用Native API进行介绍。

dplyr包是Hadley Wickham的新作,主要用于数据清洗和整理,该包专注dataframe数据格式,从而大幅提高了数据处理速度,并且提供了与其它数据库的接口;tidyr包的作者是Hadley Wickham, 该包用于“tidy”你的数据,这个包常跟dplyr结合使用。

20.电影页面布局

目录结构

图片 2

stars-template.wxml

<template name="starsTemplate">
  <view class="stars-container">
    <view class="stars">
      <image src="/images/icon/star.png"></image>
      <image src="/images/icon/star.png"></image>
      <image src="/images/icon/star.png"></image>
      <image src="/images/icon/star.png"></image>
      <image src="/images/icon/star.png"></image>
    </view>
    <text class="star-score ">9</text>
  </view>
</template>

stars-template.wxss

.stars-container {
  display: flex;
  flex-direction: row;
}

.stars {
  display: flex;
  flex-direction: row;
  height: 17rpx;
  margin-right: 24rpx;
  margin-top: 6rpx;
}

.stars image {
  padding-left: 3rpx;
  height: 17rpx;
  width: 17rpx;
}

.star-score {
  color: #1f3463;
}

movie-template.wxml

<import src="../stars/stars-template.wxml" />
<template name="movieTemplate">
    <view class="movie-container">
      <image class="movie-img" src='/images/xihongshi.png'></image>
      <text class="movie-title">西虹市首富</text>
      <template is="starsTemplate" />
    </view>
  </template>

movie-template.wxss

@import "../stars/stars-template.wxss";

@import "../stars/stars-template.wxss";

.movie-container {
  display: flex;
  flex-direction: column;
  padding: 0 22rpx;
}

.movie-img {
  width: 200rpx;
  height: 270rpx;
  padding-bottom: 20rpx;
}

.movie-title {
  margin-bottom: 16rpx;
  font-size: 24rpx;
}

movie-list-template.wxml

<import src="../movie/movie-template.wxml" />
<template name="movielistTemplate">
  <view class="movie-lsit-container">
    <view class="inner-container">
      <view class="movie-head">
        <text class="slogan">正在热映</text>
        <view class="more">
          <text class="more-text">更多</text>
          <image class="more-img" src="/images/icon/arrow-right.png"></image>
        </view>
      </view>

      <view class="movies-container">
        <template is="movieTemplate" />
        <template is="movieTemplate" />
        <template is="movieTemplate" />
      </view>
    </view>
  </view>

</template>

movie-list-template.wxss

@import "../movie/movie-template.wxss";

@import "../movie/movie-template.wxss";

.movie-list-container {
  background-color: #fff;
  display: flex;
  flex-direction: column;
}

.inner-container{
    margin: 0  auto 20rpx;
}

.movie-head {
  padding: 30rpx 20rpx 22rpx;
}

.slogan {
  font-size: 24rpx;
}

.more {
  float: right;
}

.more-text {
  vertical-align: middle;
  margin-right: 10rpx;
  color: #1f4ba5;
}

.more-img {
  width: 9rpx;
  height: 16rpx;
  vertical-align: middle;
}

.movies-container{
    display:flex;
    flex-direction: row;
}

movies.wxml

<import src="movie-list/movie-list-template.wxml" />

<view>
    <template is="movielistTemplate" />
    <template is="movielistTemplate" />
    <template is="movielistTemplate" />
</view>

movies.wxss

@import "movie-list/movie-list-template.wxss";

预览效果

图片 3

首先unity支持在C#中调用C++ dll,这样可以在Android和iOS中提供C++接口在unity中调用。利用这一特性,可以扩展unity的功能。例如集成和调用第三方库。同时为了满足对unity接口的一致性,可以考虑在android和iOS上提供相同的接口供C#调用。

本文将介绍dplyr包的下述五个函数用法:

这里列举以下两个例子。

  • 筛选: filter()
  • 排列: arrange()
  • 选择: select()
  • 变形: mutate()
  • 汇总: summarise()
  • 分组: group_by()
    1. 以弹出一个覆盖部分屏幕的webview为例来说明如何从C#调用Native接口。
    1. 简单的C# -> C++ -> Java/ObjC -> C#的异步回调实现(会在下一期中给出实现)

以及tidyr包的下述四个函数用法:

由于android和iOS平台加载库的方式不同(android为动态加载,iOS为静态加载),在C#中针对不同平台对dll 接口的引用声明是不一样的。本例对应的接口声明如下:

  • gather—宽数据转为长数据;
  • spread—长数据转为宽数据;
  • unit—多列合并为一列;
  • separate—将一列分离为多列;
 1 public class CallNativeAPI { 
 2      
 3 #if UNITY_EDITOR 
 4     public static void OpenWebView(string url) { 
 5         return; 
 6     } 
 7      
 8     public static void SumNum(int v1, int v2) { 
 9         TestUnityEditor.SumNum(v1, v2); 
10          
11         return; 
12     } 
13 #elif UNITY_IPHONE 
14     [DllImport ("__Internal")] 
15     public static extern void OpenWebView(string url); 
16     [DllImport ("__Internal")] 
17     public static extern void SumNum(int v1, int v2);    
18 #elif UNITY_ANDROID 
19     [DllImport ("libtestunity", CallingConvention = CallingConvention.Cdecl)] 
20     public static extern void OpenWebView(string url); 
21     [DllImport ("libtestunity", CallingConvention = CallingConvention.Cdecl)] 
22     public static extern void SumNum(int v1, int v2); 
23 #endif   
24      
25     public static void SumNumForResult(int v1, int v2, CallbackManager.ResultCallback callback) { 
26          
27         TestCallbackManager.sumNumCallback.SetResultCallBack(new CallbackManager.ResultCallback(callback)); 
28  
29         SumNum(v1, v2); 
30  
31         return; 
32     } 
33 } 
34  
35 namespace CallbackManager 
36 { 
37     public delegate void ResultCallback(int result); 
38      
39     public class SumNumManager{ 
40         public SumNumManager() 
41         { 
42         } 
43          
44         private ResultCallback resultCallback; 
45  
46         public void SetResultCallBack(ResultCallback callback) 
47         { 
48             resultCallback = callback; 
49         } 
50              
51         public void SendResult(int result) 
52         { 
53             resultCallback(result); 
54         } 
55     } 
56 } 
57  
58 public class TestCallbackManager { 
59  
60     public static CallbackManager.SumNumManager sumNumCallback = new CallbackManager.SumNumManager(); 
61      
62 }

 dplyr、tidyr包安装及载入

install.packages("dplyr")
install.packages("tidyr")

library(dplyr)
library(tidyr)

使用datasets包中的mtcars数据集做演示,首先将过长的数据整理成友好的tbl_df数据:

mtcars_df = tbl_df(mtcars)

 

dplyr包基本操作

本文由澳门新葡亰手机版发布于编程,转载请注明出处:R语言数据处理包dplyr,Unity在Android和iOS中如何调

上一篇:设置窗体的位置和大小,如何调用外部的Web 下一篇:函数使用,python_控制台输出带颜色的文字方法
猜你喜欢
热门排行
精彩图文