亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? kube.java

?? Android Source Code. An gallary program.
?? JAVA
字號:
/* * Copyright (C) 2008 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *      http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package com.example.android.apis.graphics.kube;import android.app.Activity;import android.os.Bundle;import android.view.Window;import com.example.android.apis.graphics.GLSurfaceView;import java.util.Random;public class Kube extends Activity implements KubeRenderer.AnimationCallback {    private GLWorld makeGLWorld()    {        GLWorld world = new GLWorld();        int one = 0x10000;        int half = 0x08000;        GLColor red = new GLColor(one, 0, 0);        GLColor green = new GLColor(0, one, 0);        GLColor blue = new GLColor(0, 0, one);        GLColor yellow = new GLColor(one, one, 0);        GLColor orange = new GLColor(one, half, 0);        GLColor white = new GLColor(one, one, one);        GLColor black = new GLColor(0, 0, 0);        // coordinates for our cubes        float c0 = -1.0f;        float c1 = -0.38f;        float c2 = -0.32f;        float c3 = 0.32f;        float c4 = 0.38f;        float c5 = 1.0f;        // top back, left to right        mCubes[0]  = new Cube(world, c0, c4, c0, c1, c5, c1);        mCubes[1]  = new Cube(world, c2, c4, c0, c3, c5, c1);        mCubes[2]  = new Cube(world, c4, c4, c0, c5, c5, c1);        // top middle, left to right        mCubes[3]  = new Cube(world, c0, c4, c2, c1, c5, c3);        mCubes[4]  = new Cube(world, c2, c4, c2, c3, c5, c3);        mCubes[5]  = new Cube(world, c4, c4, c2, c5, c5, c3);        // top front, left to right        mCubes[6]  = new Cube(world, c0, c4, c4, c1, c5, c5);        mCubes[7]  = new Cube(world, c2, c4, c4, c3, c5, c5);        mCubes[8]  = new Cube(world, c4, c4, c4, c5, c5, c5);        // middle back, left to right        mCubes[9]  = new Cube(world, c0, c2, c0, c1, c3, c1);        mCubes[10] = new Cube(world, c2, c2, c0, c3, c3, c1);        mCubes[11] = new Cube(world, c4, c2, c0, c5, c3, c1);        // middle middle, left to right        mCubes[12] = new Cube(world, c0, c2, c2, c1, c3, c3);        mCubes[13] = null;        mCubes[14] = new Cube(world, c4, c2, c2, c5, c3, c3);        // middle front, left to right        mCubes[15] = new Cube(world, c0, c2, c4, c1, c3, c5);        mCubes[16] = new Cube(world, c2, c2, c4, c3, c3, c5);        mCubes[17] = new Cube(world, c4, c2, c4, c5, c3, c5);        // bottom back, left to right        mCubes[18] = new Cube(world, c0, c0, c0, c1, c1, c1);        mCubes[19] = new Cube(world, c2, c0, c0, c3, c1, c1);        mCubes[20] = new Cube(world, c4, c0, c0, c5, c1, c1);        // bottom middle, left to right        mCubes[21] = new Cube(world, c0, c0, c2, c1, c1, c3);        mCubes[22] = new Cube(world, c2, c0, c2, c3, c1, c3);        mCubes[23] = new Cube(world, c4, c0, c2, c5, c1, c3);        // bottom front, left to right        mCubes[24] = new Cube(world, c0, c0, c4, c1, c1, c5);        mCubes[25] = new Cube(world, c2, c0, c4, c3, c1, c5);        mCubes[26] = new Cube(world, c4, c0, c4, c5, c1, c5);        // paint the sides        int i, j;        // set all faces black by default        for (i = 0; i < 27; i++) {            Cube cube = mCubes[i];            if (cube != null) {                for (j = 0; j < 6; j++)                    cube.setFaceColor(j, black);            }        }        // paint top        for (i = 0; i < 9; i++)            mCubes[i].setFaceColor(Cube.kTop, orange);        // paint bottom        for (i = 18; i < 27; i++)            mCubes[i].setFaceColor(Cube.kBottom, red);        // paint left        for (i = 0; i < 27; i += 3)            mCubes[i].setFaceColor(Cube.kLeft, yellow);        // paint right        for (i = 2; i < 27; i += 3)            mCubes[i].setFaceColor(Cube.kRight, white);        // paint back        for (i = 0; i < 27; i += 9)            for (j = 0; j < 3; j++)                mCubes[i + j].setFaceColor(Cube.kBack, blue);        // paint front        for (i = 6; i < 27; i += 9)            for (j = 0; j < 3; j++)                mCubes[i + j].setFaceColor(Cube.kFront, green);        for (i = 0; i < 27; i++)            if (mCubes[i] != null)                world.addShape(mCubes[i]);        // initialize our permutation to solved position        mPermutation = new int[27];        for (i = 0; i < mPermutation.length; i++)            mPermutation[i] = i;        createLayers();        updateLayers();        world.generate();        return world;    }    private void createLayers() {        mLayers[kUp] = new Layer(Layer.kAxisY);        mLayers[kDown] = new Layer(Layer.kAxisY);        mLayers[kLeft] = new Layer(Layer.kAxisX);        mLayers[kRight] = new Layer(Layer.kAxisX);        mLayers[kFront] = new Layer(Layer.kAxisZ);        mLayers[kBack] = new Layer(Layer.kAxisZ);        mLayers[kMiddle] = new Layer(Layer.kAxisX);        mLayers[kEquator] = new Layer(Layer.kAxisY);        mLayers[kSide] = new Layer(Layer.kAxisZ);    }    private void updateLayers() {        Layer layer;        GLShape[] shapes;        int i, j, k;        // up layer        layer = mLayers[kUp];        shapes = layer.mShapes;        for (i = 0; i < 9; i++)            shapes[i] = mCubes[mPermutation[i]];        // down layer        layer = mLayers[kDown];        shapes = layer.mShapes;        for (i = 18, k = 0; i < 27; i++)            shapes[k++] = mCubes[mPermutation[i]];        // left layer        layer = mLayers[kLeft];        shapes = layer.mShapes;        for (i = 0, k = 0; i < 27; i += 9)            for (j = 0; j < 9; j += 3)                shapes[k++] = mCubes[mPermutation[i + j]];        // right layer        layer = mLayers[kRight];        shapes = layer.mShapes;        for (i = 2, k = 0; i < 27; i += 9)            for (j = 0; j < 9; j += 3)                shapes[k++] = mCubes[mPermutation[i + j]];        // front layer        layer = mLayers[kFront];        shapes = layer.mShapes;        for (i = 6, k = 0; i < 27; i += 9)            for (j = 0; j < 3; j++)                shapes[k++] = mCubes[mPermutation[i + j]];        // back layer        layer = mLayers[kBack];        shapes = layer.mShapes;        for (i = 0, k = 0; i < 27; i += 9)            for (j = 0; j < 3; j++)                shapes[k++] = mCubes[mPermutation[i + j]];        // middle layer        layer = mLayers[kMiddle];        shapes = layer.mShapes;        for (i = 1, k = 0; i < 27; i += 9)            for (j = 0; j < 9; j += 3)                shapes[k++] = mCubes[mPermutation[i + j]];        // equator layer        layer = mLayers[kEquator];        shapes = layer.mShapes;        for (i = 9, k = 0; i < 18; i++)            shapes[k++] = mCubes[mPermutation[i]];        // side layer        layer = mLayers[kSide];        shapes = layer.mShapes;        for (i = 3, k = 0; i < 27; i += 9)            for (j = 0; j < 3; j++)                shapes[k++] = mCubes[mPermutation[i + j]];    }    @Override    protected void onCreate(Bundle savedInstanceState)    {        super.onCreate(savedInstanceState);        // We don't need a title either.        requestWindowFeature(Window.FEATURE_NO_TITLE);        mView = new GLSurfaceView(getApplication());        mRenderer = new KubeRenderer(makeGLWorld(), this);        mView.setRenderer(mRenderer);        setContentView(mView);    }    @Override    protected void onResume()    {        super.onResume();        mView.onResume();    }    @Override    protected void onPause()    {        super.onPause();        mView.onPause();    }    public void animate() {        // change our angle of view        mRenderer.setAngle(mRenderer.getAngle() + 1.2f);        if (mCurrentLayer == null) {            int layerID = mRandom.nextInt(9);            mCurrentLayer = mLayers[layerID];            mCurrentLayerPermutation = mLayerPermutations[layerID];            mCurrentLayer.startAnimation();            boolean direction = mRandom.nextBoolean();            int count = mRandom.nextInt(3) + 1;            count = 1;            direction = false;            mCurrentAngle = 0;             if (direction) {                mAngleIncrement = (float)Math.PI / 50;                   mEndAngle = mCurrentAngle + ((float)Math.PI * count) / 2f;               } else {                mAngleIncrement = -(float)Math.PI / 50;                   mEndAngle = mCurrentAngle - ((float)Math.PI * count) / 2f;            }        }         mCurrentAngle += mAngleIncrement;         if ((mAngleIncrement > 0f && mCurrentAngle >= mEndAngle) ||                 (mAngleIncrement < 0f && mCurrentAngle <= mEndAngle)) {             mCurrentLayer.setAngle(mEndAngle);             mCurrentLayer.endAnimation();             mCurrentLayer = null;             // adjust mPermutation based on the completed layer rotation             int[] newPermutation = new int[27];             for (int i = 0; i < 27; i++) {                newPermutation[i] = mPermutation[mCurrentLayerPermutation[i]]; //    			newPermutation[i] = mCurrentLayerPermutation[mPermutation[i]];             }             mPermutation = newPermutation;             updateLayers();         } else {             mCurrentLayer.setAngle(mCurrentAngle);         }    }    GLSurfaceView mView;    KubeRenderer mRenderer;    Cube[] mCubes = new Cube[27];    // a Layer for each possible move    Layer[] mLayers = new Layer[9];    // permutations corresponding to a pi/2 rotation of each layer about its axis    static int[][] mLayerPermutations = {            // permutation for UP layer            { 2, 5, 8, 1, 4, 7, 0, 3, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 },            // permutation for DOWN layer            { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 23, 26, 19, 22, 25, 18, 21, 24 },            // permutation for LEFT layer            { 6, 1, 2, 15, 4, 5, 24, 7, 8, 3, 10, 11, 12, 13, 14, 21, 16, 17, 0, 19, 20, 9, 22, 23, 18, 25, 26 },            // permutation for RIGHT layer            { 0, 1, 8, 3, 4, 17, 6, 7, 26, 9, 10, 5, 12, 13, 14, 15, 16, 23, 18, 19, 2, 21, 22, 11, 24, 25, 20 },            // permutation for FRONT layer            { 0, 1, 2, 3, 4, 5, 24, 15, 6, 9, 10, 11, 12, 13, 14, 25, 16, 7, 18, 19, 20, 21, 22, 23, 26, 17, 8 },            // permutation for BACK layer            { 18, 9, 0, 3, 4, 5, 6, 7, 8, 19, 10, 1, 12, 13, 14, 15, 16, 17, 20, 11, 2, 21, 22, 23, 24, 25, 26 },            // permutation for MIDDLE layer            { 0, 7, 2, 3, 16, 5, 6, 25, 8, 9, 4, 11, 12, 13, 14, 15, 22, 17, 18, 1, 20, 21, 10, 23, 24, 19, 26 },            // permutation for EQUATOR layer            { 0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 14, 17, 10, 13, 16, 9, 12, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26 },            // permutation for SIDE layer            { 0, 1, 2, 21, 12, 3, 6, 7, 8, 9, 10, 11, 22, 13, 4, 15, 16, 17, 18, 19, 20, 23, 14, 5, 24, 25, 26 }    };    // current permutation of starting position    int[] mPermutation;    // for random cube movements    Random mRandom = new Random(System.currentTimeMillis());    // currently turning layer    Layer mCurrentLayer = null;    // current and final angle for current Layer animation    float mCurrentAngle, mEndAngle;    // amount to increment angle    float mAngleIncrement;    int[] mCurrentLayerPermutation;    // names for our 9 layers (based on notation from http://www.cubefreak.net/notation.html)    static final int kUp = 0;    static final int kDown = 1;    static final int kLeft = 2;    static final int kRight = 3;    static final int kFront = 4;    static final int kBack = 5;    static final int kMiddle = 6;    static final int kEquator = 7;    static final int kSide = 8;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91丝袜美腿高跟国产极品老师| 91久久精品一区二区| 99综合影院在线| 欧美夫妻性生活| 成人欧美一区二区三区黑人麻豆| 五月婷婷综合在线| 一本久久a久久精品亚洲| 欧美va亚洲va在线观看蝴蝶网| 亚洲品质自拍视频网站| 国产精品1区2区3区在线观看| 欧美日韩亚洲丝袜制服| 亚洲精品成人悠悠色影视| 国产福利视频一区二区三区| 日韩欧美中文字幕一区| 亚洲午夜av在线| 91女厕偷拍女厕偷拍高清| 国产精品久久久久影视| 国产综合久久久久影院| 欧美成人一区二区三区片免费| 亚洲国产婷婷综合在线精品| 色94色欧美sute亚洲线路二| 一区在线观看视频| 成人精品gif动图一区| 国产午夜精品一区二区三区视频| 精品一区二区三区久久| 欧美不卡在线视频| 精品在线免费观看| 亚洲精品一区二区三区四区高清| 久久99精品久久久久久久久久久久 | 久久久综合激的五月天| 日本vs亚洲vs韩国一区三区| 欧美一级国产精品| 日韩av电影天堂| 日韩欧美一区中文| 久久国产生活片100| 欧美成人aa大片| 久久99国产精品免费网站| 欧美电视剧在线观看完整版| 精品亚洲国产成人av制服丝袜| 精品国产区一区| 久久97超碰国产精品超碰| 日韩欧美一级二级| 国产精品18久久久久久久久| 亚洲国产精品精华液ab| 92国产精品观看| 亚洲在线免费播放| 日韩欧美国产麻豆| 处破女av一区二区| 亚洲免费在线观看| 欧美日韩精品一区二区三区蜜桃 | 日韩一级大片在线| 国产一区福利在线| 一色屋精品亚洲香蕉网站| 亚洲精品在线三区| 成人av在线一区二区| 亚洲激情图片qvod| 日韩精品一区二区三区视频播放 | 中文字幕不卡三区| 在线观看视频91| 美女视频网站黄色亚洲| 亚洲国产精品二十页| 91国产视频在线观看| 看国产成人h片视频| 亚洲国产精品成人综合| 欧美成人性福生活免费看| 日韩精品色哟哟| 国产无遮挡一区二区三区毛片日本| 99久久精品国产一区二区三区 | 精品国产污网站| 99国产精品国产精品久久| 日韩精品91亚洲二区在线观看 | 日本精品裸体写真集在线观看| 偷拍日韩校园综合在线| 久久久久久亚洲综合| 色综合久久综合| 国产一区二区三区四| 亚洲国产成人精品视频| 国产精品美女久久久久aⅴ| 欧美一区二区三区在线看| 不卡的av在线| 国产一区二区三区电影在线观看 | 欧美日韩专区在线| 蜜桃视频一区二区三区在线观看| 国产日本欧美一区二区| 欧美日韩在线观看一区二区| 国产成人在线视频网站| 日本在线播放一区二区三区| 国产精品伦理在线| 久久久亚洲午夜电影| 911精品国产一区二区在线| 99re这里只有精品6| 国产精品综合久久| 另类小说欧美激情| 午夜精品福利一区二区三区蜜桃| 亚洲欧美在线另类| 久久久美女艺术照精彩视频福利播放| 欧美日韩激情在线| 色94色欧美sute亚洲线路一久| 国产成人一级电影| 精品伊人久久久久7777人| 日韩有码一区二区三区| 欧美日韩国产影片| 久久er精品视频| 亚洲一区二区三区四区在线观看| 中文字幕免费不卡| 国产亚洲人成网站| 日韩欧美亚洲国产精品字幕久久久 | 国产jizzjizz一区二区| 热久久免费视频| 日韩电影在线免费看| 亚欧色一区w666天堂| 亚洲大片一区二区三区| 亚洲一级不卡视频| 亚洲乱码精品一二三四区日韩在线| 中文字幕二三区不卡| 国产精品视频在线看| 最新日韩av在线| 一区二区三区在线看| 一区二区成人在线观看| 欧美日韩高清一区二区| 日韩欧美电影在线| 欧美区在线观看| 欧美美女bb生活片| 欧美人与性动xxxx| 91精品婷婷国产综合久久| 91精品午夜视频| 精品国产3级a| 国产精品理伦片| 亚洲一区二区三区自拍| 日韩精品久久理论片| 蜜臀av一区二区| 风流少妇一区二区| av不卡免费在线观看| 欧美性猛交xxxx乱大交退制版| 欧美日韩国产成人在线免费| 日韩一区二区三区四区| 久久女同精品一区二区| 国产精品国产三级国产| 亚洲九九爱视频| 秋霞影院一区二区| 国产乱子伦一区二区三区国色天香| 岛国精品一区二区| 欧美性一二三区| 精品美女在线观看| 精品国内二区三区| 91精品国产综合久久久久久久久久| 欧美视频一区二| 亚洲精品在线三区| 亚洲男女毛片无遮挡| 麻豆精品视频在线| a级高清视频欧美日韩| 3d成人h动漫网站入口| 欧美哺乳videos| 亚洲免费在线观看视频| 国内成人自拍视频| 精品视频全国免费看| 精品国产免费久久 | 欧美日韩欧美一区二区| 2023国产精品视频| 亚洲午夜久久久久久久久久久 | 久久精工是国产品牌吗| 91麻豆成人久久精品二区三区| 日韩欧美色综合| 亚洲一二三区在线观看| 国产精品一级在线| 538在线一区二区精品国产| 日本精品裸体写真集在线观看| 亚洲麻豆国产自偷在线| 日韩黄色一级片| 99精品视频一区二区三区| 精品久久久久一区二区国产| 亚洲免费高清视频在线| 国产精品一卡二卡在线观看| 欧美日韩五月天| 亚洲欧美色一区| 国产精品18久久久久久久久久久久| 制服丝袜日韩国产| 亚洲精品国产一区二区精华液| 国产美女视频91| 日韩三级在线免费观看| 一区二区三区免费看视频| 成人一区在线看| 久久久久久久一区| 激情综合色播五月| 欧美一区二区视频免费观看| 亚洲国产美女搞黄色| 色婷婷久久综合| 亚洲人成精品久久久久久 | 国产v综合v亚洲欧| 欧美日韩国产中文| 欧美一区二区网站| 一区二区三区四区视频精品免费| 成人午夜视频福利| 日本午夜精品一区二区三区电影| 色猫猫国产区一区二在线视频| 欧美激情综合五月色丁香| 激情六月婷婷久久| 精品久久人人做人人爰| 精彩视频一区二区| 欧美老年两性高潮|