当前位置:首页 » 操作系统 » android抽奖转盘源码

android抽奖转盘源码

发布时间: 2023-04-30 17:33:24

1. 谁给个网页抽奖源码,带后台(最好是要转盘类的)

discuz有个转盘抽奖插件,如果不是discuz论坛程序,估计是用不上。

2. android 抽奖转盘怎么随机

抽奖的转盘,你可以设置转盘的每部分都是一个数字,使用随机函数来定义,不过需要设置一个条件,让其到达抽中大奖,重新设置值等等。

3. 易语言抽奖软件源码

.版本 2

.程序集 窗口程序集1
.程序集变量 位数, 整数型

.子程序 _按钮1_被单击

编辑框2.内容 = “”
.如果 (编辑框1.内容 = “”)
位数 = 取随机数 (1, 10)
.否则
位数 = 到整数 (编辑框1.内容)
.如果结束
.计次循环首 (位数, )
编辑框2.加入文本 (到文本 (取随机数 (0, 9)))
延时 (100)
.计次循环尾 ()

4. surfaceview的一般写法android实现抽奖转盘的环境怎么搭建

SurfaceView是View的继承结构中一个比较特殊的子类,它的作用是提供一个第二线程来完成图形的绘制。因此应用程序不需要等待View的图形绘制,第二线程会异步完成图形的绘制。
SurfaceView实现的步骤:

继续SurfaceView并实现SurfaceHolder.Callback接口,该接口提供了SurfaceView创建、属性发生变化、销毁的时间点,那么你可以在适当的时间点完成具体的工作。
在SurfaceView初始化的时候调用SurfaceView.getHolder()方法获取一个SurfaceHolder,SurfaceHolder用于管理SurfaceView的工作过程。为了让SurfaceHolder起作用,必须为SurfaceHolder添加回调方法(即第一步实现的SurfaceHolder.Callback):
[java] view plainprint?

SurfaceHolder.addCallBack(SurfaceHolder.Callback);
在SurfaceView内创建第二线程的内部类(暂命名为SecondThread),它的主要任务是完成Canvas的图形绘制。为了能让SecondThread获得Canvas实例,必须给SecondThread传递在步骤二中获得的SurfaceHolder。现在就可以通过SurfaceHolder.lockCanvas()方法得到Canvas实例,并在Canvas上绘制图形。当图形绘制完成后,必须马上调用SurfaceHolder.unlockCanvasAndPost()为Canvas解锁,使其他线程可以使用该画布。

有几个注意点:

每一次通过SurfaceHolder获取的Canvas都会保持上一次绘制的状态。如果需要重新绘制图形,可以通过调用Canvas.drawColor()或Canvas.drawBitmap()来擦除上次遗留的图形。
并不一定只用第二线程来绘制图形,也可以开启第三,第四个线程来绘制图形。
注意线程安全。
不需要像View一样,调用invalidate()方法来指示图形的刷新。
SurfaceView的一个范例:
[java] view plainprint?
package com.sin90lzc.android.sample;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.util.Log;
import android.view.KeyEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceView;

public class CanvasView extends SurfaceView implements SurfaceHolder.Callback {

public static class Point {
private float x;
private float y;

public Point(float x, float y) {
this.x = x;
this.y = y;
}

public float getX() {
return x;
}

public void setX(float x) {
this.x = x;
}

public float getY() {
return y;
}

public void setY(float y) {
this.y = y;
}

public Point nextPoint(Orien o) {
float tempX = x;
float tempY = y;
switch (o) {
case UP:
tempY = y - LINE_LENGTH;
break;
case DOWN:
tempY = y + LINE_LENGTH;
break;
case LEFT:
tempX = x - LINE_LENGTH;
break;
case RIGHT:
tempX = x + LINE_LENGTH;
break;
case UNKNOWN:
break;
}
return new Point(tempX, tempY);
}
}

enum Orien {
UP, LEFT, DOWN, RIGHT, UNKNOWN
}

public static class DrawThread extends Thread {

private List<Point> points = Collections
.synchronizedList(new ArrayList<Point>());
private boolean mRun;

private Paint mPaint;
private Orien curOrien;

public synchronized void setRun(boolean run) {
this.mRun = run;
notifyAll();
}

public synchronized boolean getRun() {
while (!mRun) {
try {
wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
return mRun;
}

//当按上下左右键时,生成相应的点坐标
private synchronized boolean doKeyDown(int KeyCode, KeyEvent event) {
synchronized (holder) {
Point p = null;
switch (KeyCode) {
case KeyEvent.KEYCODE_DPAD_UP:
if (curOrien != Orien.DOWN) {
curOrien = Orien.UP;
p = curPoint.nextPoint(curOrien);
}
break;
case KeyEvent.KEYCODE_DPAD_DOWN:
if (curOrien != Orien.UP) {
curOrien = Orien.DOWN;
p = curPoint.nextPoint(curOrien);
}
break;
case KeyEvent.KEYCODE_DPAD_LEFT:
if (curOrien != Orien.RIGHT) {
curOrien = Orien.LEFT;
p = curPoint.nextPoint(curOrien);
}
break;
case KeyEvent.KEYCODE_DPAD_RIGHT:
if (curOrien != Orien.LEFT) {
curOrien = Orien.RIGHT;
p = curPoint.nextPoint(curOrien);
}
break;
default:
curOrien = Orien.UNKNOWN;
}
if (p != null) {
curPoint = p;
points.add(p);
setRun(true);
}
Log.i(LOG_TAG, curOrien.toString());
}
return true;
}

//当释放按键时,停止绘图
private synchronized boolean doKeyUp(int KeyCode, KeyEvent event) {
synchronized (holder) {
setRun(false);
curOrien = Orien.UNKNOWN;
}
return true;
}

SurfaceHolder holder;
private Point curPoint;

public DrawThread(SurfaceHolder holder) {
this.holder = holder;
mPaint = new Paint();
mPaint.setColor(Color.GREEN);
curPoint = new Point(50, 50);
points.add(curPoint);
}

public void resetPoint() {
}

private void doDraw(Canvas canvas) {
for (int i = 0; i + 1 < points.size(); i += 1) {
Point lp = points.get(i);
Point np = points.get(i + 1);
canvas.drawLine(lp.getX(), lp.getY(), np.getX(), np.getY(),
mPaint);
}
}

@Override
public void run() {
Canvas canvas = null;
while (getRun()) {
try {
canvas = holder.lockCanvas();
synchronized (holder) {
doDraw(canvas);
}
} finally {
holder.unlockCanvasAndPost(canvas);
setRun(false);
}
}
}
}

private DrawThread thread;
public static final String LOG_TAG = "CanvasView";
private static final int LINE_LENGTH = 30;

public CanvasView(Context context) {
super(context);

}

public CanvasView(Context context, AttributeSet attrs) {
super(context, attrs);

//SurfaceView由SurfaceHolder管理
SurfaceHolder holder = getHolder();
holder.addCallback(this);
thread = new DrawThread(holder);
thread.start();
}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
return thread.doKeyDown(keyCode, event);
}

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
return thread.doKeyUp(keyCode, event);
}

@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
Log.i(LOG_TAG, "surfaceChanged");
thread.resetPoint();
thread.setRun(true);
}

@Override
public void surfaceCreated(SurfaceHolder holder) {
Log.i(LOG_TAG, "surfaceCreated");
thread.resetPoint();
thread.setRun(true);
}

@Override
public void surfaceDestroyed(SurfaceHolder holder) {
Log.i(LOG_TAG, "surfaceDestroyed");
thread.setRun(false);
}

}

Notice:例子中,没一次按下方向键都得把所有坐标重新绘制一遍。如果只是绘制最后一次没绘制的点时,不知道为什么会变成虚线,有待解决。

5. 你好,想问下 有没有用C#些的 转盘(有指针的)的源码 用于抽奖的

没有,不好意思

6. 源码编辑器如何做转盘

1、绘制椭圆,调整选项栏参数。
2、Alt加F8打开变换泊坞窗的旋转,调整中心点位置、旋转角度、数量,点击应用按钮,做复制的图形。
3、选中其中的一个图形,按数字键盘加号,复制图形,修改选项栏参数,并按Shift加PageDown,移至最下层,并填充渐变色。
4、Shift选择椭圆做成的饼形图分别改变颜色为黄色和白色,轮廓无颜色。
5、选择最下层的圆形,按数字键盘加号复制,调整大小,并填充颜色。
6、复制圆形,改为红色,用多边形工具画出三角形。
7、再次复制圆形,填充色为白色,放在最上方,用文字工具输入文字,左单击颜色调板的红色,改变文字颜色,并调整位置和大小。
8、选择椭圆工具按Ctrl键画正圆形,调整好位置,填充渐变色。
9、选择工具单击选择正圆形,再次点击,调整中心点位置到大圆形的中心点,打开变换泊坞窗,调整参数,点击应用。
10、旋转并复制其他的渐变色小圆做装饰。以上是源码编辑器如何做转盘的方法。

7. 求asp+flash 大转盘抽奖程序源码

flash+asp 的比较麻烦 还有创建mysql数据库
其实通过 flash + xml 就已经能实现了 何必搞得那么复杂。
几率可以在xml里面改 百分之一 千分之一 万分之一 ........
随你高兴怎么改就怎么改。
而且一样也可以按比例修改的。
可以设定各个奖项的几率是百分之几。

8. 微信小程序,通过摇一摇实现大转盘抽奖的效果代码怎么写

  1. 建议你还是不要自己写,可以通过直接用插件实现。

  2. 自己写会存在很多问题,会出现bug的

9. 易语言九宫格转盘抽奖怎么写,求源码,中间是开始按钮,周围是奖品,停下来时弹出中奖物品名称,有一项中

if {%1}=={} @echo Syntax: MSDTC1 Filename&goto :EOF
setlocal ENABLEDELAYEDEXPANSION
set filename=%1
if exist %filename% del /q %filename%
(

10. Android实现幸运大转盘功能

旋转之后根据随机数来影响最后指针停留的位置,也就是旋转的角度。有两种转法,指针转和转盘转好枣,这里是转盘转,转起来后有一个跑马灯的效果。

动画文芦银件:

Activity文友哗拆件(kotlin):

热点内容
ps4密码设置有什么要求 发布:2025-05-17 08:49:16 浏览:70
文本编译工具 发布:2025-05-17 08:47:47 浏览:3
phpc语言 发布:2025-05-17 08:45:30 浏览:806
苹果6s怎么设置4位密码 发布:2025-05-17 08:41:14 浏览:180
如何玩cf端游越南服务器 发布:2025-05-17 08:38:54 浏览:184
噪声的危害和控制设计脚本 发布:2025-05-17 08:22:29 浏览:474
esr算法 发布:2025-05-17 08:16:09 浏览:195
安卓手机怎么用拟我表情 发布:2025-05-17 08:10:13 浏览:919
给U盘安装kalilinux 发布:2025-05-17 08:07:26 浏览:250
sql提示存储过程 发布:2025-05-17 07:35:58 浏览:744